     calleeNode.env.decreaseScope()
     cont(result)
 
-  call: (_this) -> @apply _this, Array::slice arguments, 1
-
-  callCps: (_this, cont, errCont) ->
-    applyCps _this, (Array::slice arguments, 1), cont, errCont
+  call: (thisArg) -> @apply thisArg, Array::slice arguments, 1
+
+  callCps: (thisArg, cont, errCont) ->
+    applyCps thisArg, (Array::slice arguments, 1), cont, errCont
 
 interp = (node, env=new Environment, cont, errCont) ->
   try

  constructor: (@__ctor__, @__call__) ->
    @prototype = @__ctor__.prototype

  apply: (_this, args) ->
    await this.applyCps _this, args, defer(result), errCont
    return result

  applyCps: (appliedThis, args, cont, errCont) ->

            interp ast, env.getGlobalEnv(), cont, errCont
        else
          if callee instanceof InterpretedFunction
            callee.applyCps thisArg, args, cont, errCont
          else
            cont callee.apply thisArg, args
      when 'NewExpression'
        await interp node.callee, env, defer(callee), errCont
        args =
