Merge branch 'cλash' of git.stderr.nl/matthijs/projects/master-project
* 'cλash' of http://git.stderr.nl/matthijs/projects/master-project:
Add lambdasimpl normalization pass.
Make letremoveunused work for non-recursive lets.
Let casesimpl generate non-recursive lets.
Add mkNonRecLets and use it.
Make letmerge work with non-recursive lets.
Limit flattenLets to non-recursive lets only.
Move flattenLets from Normalize to CoreTools.
Make inlinebind work for non-recursive lets.
Add empty let removal normalization pass.
Rename letremove to letremovesimple.
Don't try to simplify nested lets.
Make letflat work with non-recursive lets.
Make letsimpl work on and generate a non-recursive let.
No longer add a top level let before normalization.
Make some normalizations generate nonrecursive lets.
Turn let recursification into its opposite.