   # (optional) reference to the current index. Or, *key, value*, in the case
   # of object comprehensions.
   ForVariables: [
-    o "IDENTIFIER",                             -> [$1]
-    o "IDENTIFIER , IDENTIFIER",                -> [$1, $3]
+    o "Identifier",                             -> [$1]
+    o "Identifier , Identifier",                -> [$1, $3]
   ]
 
   # The source of a comprehension is an array or object with an optional filter

  # The general group of accessors into an object, by property, by prototype
  # or by array index or slice.
  Accessor: [
    o "PROPERTY_ACCESS IDENTIFIER",             -> new AccessorNode $2
    o "PROTOTYPE_ACCESS IDENTIFIER",            -> new AccessorNode $2, 'prototype'
    o "::",                                     -> new AccessorNode(new LiteralNode('prototype'))
    o "SOAK_ACCESS IDENTIFIER",                 -> new AccessorNode $2, 'soak'
    o "Index"
    o "Slice",                                  -> new SliceNode $1
  ]


  # A reference to a property on *this*.
  ThisProperty: [
    o "@ Identifier",                           -> new ValueNode new LiteralNode('this'), [new AccessorNode($2)]
  ]

  # The CoffeeScript range literal.
