new deftype semantics