Move everything from CodeGen.Javascript to Haste. Less clutter that way.
Use Prelude double conversion functions in Tests.DoubleConversion.

There's a bug in the JS support libs that only gets exposed with -O0.
Add New And Improved (tm) AST.
Replace the old, crufty code generator.
Fix ShrA/ShrL mixup in the new code generator. This fixes unsigned types.
Turn quite a lot of case statements into foo ? bar : baz expressions.
Inline return statements into branches where appropriate.
Ignore dotfiles.
Add some incomplete QuickCheck generators for the AST.
Inline unnecessary assignments as much as possible.
Remove unnecessary breaks from case branches that end in return.
Fix broken return statement inlining.
Remove `break` from the end of any branch ending in `return` or `continue`.
Perform inlining over the whole program, and speed up inlining a bit.
Turn `var x=foo; var y=bar; ...` into `var x=foo,y=bar,...`.
Add some whitespace to output when debug printing, and remove some when not.
Improve inlining of return statements.
Fix bug where foldMapJS would ignore the accumulator when traversing calls.
Perform tail recursion elimination on functions that don't return closures.
Optionally perform inlining over the whole program.