introduces the type-preserving reifier