   # Does this scope reference any variables that need to be declared in the
   # given function body?
   hasDeclarations: (body) ->
-    body is @expressions and @any (k, val) -> val is 'var' or val is 'reuse'
+    body is @expressions and @any (k, val) -> val in ['var', 'reuse']
 
   # Does this scope reference any assignments that need to be declared at the
   # top of the given function body?


  # Return the list of variables first declared in this scope.
  declaredVariables: ->
    (key for key, val of @variables when val is 'var' or val is 'reuse').sort()

  # Return the list of assignments that are supposed to be made at the top
  # of this scope.

  # Return to the previous garbage level and erase referenced temporary
  # variables in current level from scope.
  endLevel: ->
    vars = @variables
    (vars[name] = 'reuse') for name in @garbage.pop() when vars[name] is 'var'

  # Look up a variable name in lexical scope, and declare it if it does not
  # already exist.
