'Produce an "adapted" form of this type, given an "impl" class
to work with.
This method is used internally to associate generic
types with "implementation" types that are specific to a particular
dialect.'

def adapt(self, cls, **kw):

    return util.constructor_copy(self, cls, **kw)
