       node = node.unwrapAll()
       node = (node.unfoldSoak(o) or node)
       if node instanceof Block
-        # This is a nested block.  We don't do anything special here like enclose
+        # This is a nested block. We don't do anything special here like enclose
         # it in a new scope; we just compile the statements in this block along with
         # our own
         compiledNodes.push node.compileNode o


# The various nodes defined below all compile to a collection of **CodeFragment** objects.
# A CodeFragments is a block of generated code, and the location in the source file where the code
# came from.  CodeFragments can be assembled together into working code just by catting together
# all the CodeFragments' `code` snippets, in order.
exports.CodeFragment = class CodeFragment
  constructor: (parent, code) ->

  if not PARANOID then return fragments

  nodeName = if node then " from #{node.constructor.name}" else ""
  if not fragments
    throw new Error("Fragments is null#{nodeName}: #{fragments}\n" )
  if fragments instanceof CodeFragment
    throw new Error("Expected array of fragments but found fragment#{nodeName}: #{fragments}\n" )
  for fragment, i in fragments
    if not (fragment instanceof CodeFragment)
      # This is not a fragment.
      inspected = (require 'util').inspect fragments
      nodeStr = if node then "node: #{node.toString()}\n" else ""
