this is a step towards separating out the repr. of types during inference from the repr. in later stages.