     top         = del o, 'top'
     o.scope     = sharedScope or new Scope(o.scope, @body, this)
     o.top       = true
-    o.indent    = @idt(if @bound then 2 else 1)
+    o.indent    = @idt(1)
     del o, 'noWrap'
     del o, 'globals'
     i = 0

    else
      clause = "$@fromVar <= $@toVar ?"
      body   = "var $i = $@fromVar; $clause $i <$@equals $@toVar : $i >$@equals $@toVar; $clause $i += 1 : $i -= 1"
    post =  "{ ${result}.push($i) };\n${idt}return $result;\n$o.indent"
    "(function(){${pre}\n${idt}for ($body)$post}).call(this)"

#### SliceNode


  # It would be better not to generate them in the first place, but for now,
  # clean up obvious double-parentheses.
  compileRoot: (o) ->
    o.indent  = @tab = if o.noWrap then '' else TAB
    o.scope   = new Scope(null, this, null)
    code      = @compileWithDeclarations(o)
    code      = code.replace(TRAILING_WHITESPACE, '')
    code      = code.replace(DOUBLE_PARENS, '($1)')
    if o.noWrap then code else "(function() {\n$code\n})();\n"

  # Compile the expressions body for the contents of a function, with
  # declarations of all inner variables pushed up to the top.
