   # as well as a reference to the **Expressions** node is belongs to, which is
   # where it should declare its variables, and a reference to the function that
   # it wraps.
-  constructor: (parent, expressions, method) ->
-    [@parent, @expressions, @method] = [parent, expressions, method]
-    @variables = {}
+  constructor: (@parent, @expressions, @method) ->
+    @variables = {'arguments'}
     if @parent
       @garbage = @parent.garbage
     else

# with the outside.

# Import the helpers we plan to use.
{extend} = require './helpers'

exports.Scope = class Scope


  # walks up to the root scope.
  check: (name, options) ->
    immediate = Object::hasOwnProperty.call @variables, name
    return immediate if immediate or options?.immediate
    !!@parent?.check name

  # Generate a temporary variable name at the given index.
  temporary: (type, index) ->
