Reifies arbitrary terms into types that can be reflected back into terms
