rewrote reification of constructor and function types