start moving the deftype work into macros