Add an Unlambda expression type, and factor out common types and functions into NYHC.IR.Helpers. Also remove ELam from the Core expr type.
Implement fromUnlambda in terms of a lambda-lifting pipeline, and add an annotated expression type.
Implement freeVars
Implement abstract
Implement a name supply
Implement rename
Implement collectSCs
Eliminate redundant lets introduced by collectSCs'
Implement lambda lifting for case expressions
Eliminate redundant supercombinators introduced when a lambda is the rhs of a scdefn
Implement collectSCs' for lambdas
Actually fix collectOne
Merge pull request #6 from Barrucadu/unlambda

Basic lambda-lifter