support for new deftype semantics