Lifting the object closures to the meta level of Haskell.

We should handle environments in a less meta fashion to support other targets.