Export LambdaFormInfo for externally visible bindings in interface files.
Currently if one module defines a value like this:
foo = Just bar
Then any reference to foo in other modules will be be a direct untagged pointer to foo.
As a result every time we are scrutinizing such a reference we need to enter it's closure.
Quite a waste.
Export LambdaFormInfo to interface files. Allowing us to tag imported ids in the same way we tag ids coming from the current module.
- Does this establish the invariant that pointers to constructors are always tagged. This question was raised here