     o.indent = idt
     defPart + """
     #{@tab}for (#{forPart}) {
-    #{ guardPart or '' }#{varPart}#{ body.compile o, LVL_TOP }
+    #{ guardPart or '' }#{varPart}#{ body.compile o, LEVEL.TOP }
     #{@tab}}
     """ + retPart
 

    if expr and expr not instanceof Return then expr.compile o, lvl else super o, lvl

  compileNode: (o) ->
    o.level = LVL_PAREN
    @tab + "return#{ if @expression then ' ' + @expression.compile o else '' };"

#### Value

  compileRoot: (o) ->
    o.indent = @tab = if o.bare then '' else TAB
    o.scope  = new Scope null, this, null
    o.level  = LEVEL.TOP
    code     = @compileWithDeclarations o
    code     = code.replace TRAILING_WHITESPACE, ''
    if o.bare then code else "(function() {\n#{code}\n}).call(this);\n"
