   #################
 
   # add to appropriate list in @matches
-  _bindToLabelLists: (label, match) ->
-    pluralLabel = @parser.pluralize label
+  # TODO: I'll bet this slows things down, generating the pluralLabel EVERY TIME
+  _bindToLabelLists: (match) ->
+    {pluralLabel} = match
     {matches} = @
     @[pluralLabel] = push @[pluralLabel], match unless @__proto__[pluralLabel]
 
   # keep most recent match directly as node property
   # IFF the prototype doesn't already have a property of that name
-  _bindToSingleLabels: (label, match) ->
+  _bindToSingleLabels: (match) ->
+    {label} = match
     @[label] = match unless @__proto__[label]

Foundation = require 'art-foundation'
{peek, log, push, compactFlatten, BaseObject, inspectedObjectLiteral, merge, mergeInto} = Foundation
Nodes = require './namespace'

module.exports = class Node extends BaseObject

  toString: -> @text

  @setter "matches offset matchLength ruleVariant"
  @getter "parent parser offset matchLength, label pluralLabel",
    name: -> @_name || @ruleName || @class.getName()
    present: -> @_matchLength > 0
    matches: -> @_matches ||= []
