9Actually, Haskell lets you have, for instance, two different definitions of Pair that apply to different types, and needs types to disambiguate them, so types are only fully erasable if all names are unique. We will discuss this problem in a different context in Module 8, so we’ll ignore it for now and assume that all names are unique.