       if nameCheck
         builder.after @pattern, builder.empty()
       else
-        new NotAllowed("expecting #{@name}", @name, node, 5 + h.depth(node))
+        builder.notAllowed("expecting #{@name}", @name, node, 5 + h.depth(node))
 
     _toString: ->
       "element #{@name} { #{@pattern} }"

          descend = descend - 1
        patt = patt.childrenDeriv(node.childNodes, descend)
      else
        return new After(builder.empty("skipping 1"), builder.empty("skipping descent"))
      if patt instanceof NotAllowed
        return patt
      return patt.endTagDeriv(node)

        return @internChoice(pattern1, pattern2)
      else
        if @choiceMap[pattern.uniqueIndex] isnt undefined
          return @notAllowed()
      return pattern

    choice: (pattern1, pattern2) ->
