   # 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 "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 "SOAK_ACCESS Identifier",                 -> new AccessorNode $2, 'soak'
     o "Index"
     o "Slice",                                  -> new SliceNode $1
   ]

  Block: [
    o "INDENT Body OUTDENT",                    -> $2
    o "INDENT OUTDENT",                         -> new Expressions()
    o "TERMINATOR COMMENT",                     -> Expressions.wrap [$2]
  ]

  # Alphanumerics are separated from the other **Literal** matchers because
  # they can also serve as keys in object literals.
  AlphaNumeric: [
    o "NUMBER",                                 -> new LiteralNode $1
    o "STRING",                                 -> new LiteralNode $1
  ]

  # All of our immediate values. These can (in general), be passed straight
  # through and printed to JavaScript.
  Literal: [
    o "AlphaNumeric"
    o "JS",                                     -> new LiteralNode $1
    o "REGEX",                                  -> new LiteralNode $1
    o "TRUE",                                   -> new LiteralNode true
    o "FALSE",                                  -> new LiteralNode false
    o "YES",                                    -> new LiteralNode true


  # Variables and properties that can be assigned to.
  SimpleAssignable: [
    o "Identifier",                             -> new ValueNode $1
    o "Value Accessor",                         -> $1.push $2
    o "Invocation Accessor",                    -> new ValueNode $1, [$2]
    o "ThisProperty"
