### traditional [python]

import domain_specific

type_dispatch = {
    int:push_int,
    long:push_int,
    basestring:push_string,
    domain_specific.Namespace:push_namespace,
    domain_specific.QName:push_qname,
    }

class Generator(object):
    def load(self, value):
        dispatch[type(value)](value)