     require('./lib/transforms/returns')
     require('./lib/transforms/switches')
   ]
+
+  # Consolidate nested blocks -- block nesting can be a side effect of the
+  # transformations above
   run [
     require('./lib/transforms/blocks')
   ]

#
#     ast = js2coffee.parseJS('var a = 2;')
#     result = js2coffee.transform(ast)
#     result.ast
#
# This performs a few traversals across the tree using traversal classes
# (TransformerBase subclasses).

# ~ filename (String): the filename, used in source maps and errors.
# ~ comments (Boolean): set to `false` to disable comments.
#
# Here's what it does:
#
# 1. Parse code into a JS AST (`.parseJS()`)
# 2. Mutate the JS AST into a CoffeeScript AST (`.transform()`)
# 3. Render the AST into CoffeeScript (`.generate()`)
###

js2coffee.build = (source, options = {}) ->
