I wasn't sure what a "lifted type" was so I looked it up,
A type is lifted iff it has bottom as an element. Closures always
have lifted types: i.e. any let-bound identifier in Core must have
a lifted type. Operationally, a lifted object is one that can be
entered. Only lifted types may be unified with a type variable.
http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler...