         patt = nextPatt
       return patt
 
-    textDeriv: (node) =>
+    textDeriv: (node) ->
       return new NotAllowed("#{this}", this, node)
-    toString: =>
+    toString: ->
       "<UNDEFINED PATTERN>"
 
-    valueMatch: (value) =>
+    valueMatch: (value) ->
       if @nullable() and h.isNodeWhitespace(value)
         return new Empty()
       deriv = @textDeriv(value)

  ###
  class Empty extends Pattern
    constructor: (@message, @pattern, @childNode) ->
    textDeriv: (node) =>
      return this
    toString: =>
      if @message
        "#{@message}"
      else
        "(null)"
    _nullable: =>
      true



  ###
  class GoodElement extends Empty
    constructor: (@name, @pattern) ->
    toString: -> "(GOOD) element #{@name}"

  ###*
   * {@link GoodElement} subclass that has (unvalidated) children of the node remaining
