move universe dependent types to definitions; fix names
refactors the unapply macro hook
macro roles are now value classes