[Haskell] On computable types. I. Typed lambda and type closures