   constructor: (@variable, @value, @context, options) ->
     @param = options and options.param
     @subpattern = options and options.subpattern
-    if @variable.unwrapAll().value in STRICT_PROSCRIBED
-      throw SyntaxError 'variable name may not be "eval" or "arguments"'
+    if name = @variable.unwrapAll().value in STRICT_PROSCRIBED
+      throw SyntaxError "variable name may not be \"#{name}\""
 
   children: ['variable', 'value']
 

    else
      @variable.base.value
    if decl in STRICT_PROSCRIBED
      throw SyntaxError 'variable name may not be eval or arguments'
    decl and= IDENTIFIER.test(decl) and decl

  # For all `this`-references and bound functions in the class definition,

      if prop?
        propName = prop.unwrapAll().value.toString()
        if propName in propNames
          throw SyntaxError "multiple object literal properties named \"#{propName}\""
        propNames.push propName
    return (if @front then '({})' else '{}') unless props.length
    if @generated
