Namespaces now render with a '$' prefix to prevent definition collisions.
`where` clauses
Improved inlining - generated js is now cleaner, and js functions which rely on `this` generally work correctly with combinators (!)