       else
         "missingContent"
 
+  ###*
+   * A pattern accepting any text content
+  ###
   class Text extends Empty
     toString: =>
       "text"


  {
    getPattern,
    AnyName, Attribute,
    Choice, Context,
    Data, Datatype, Define,
    Empty, Element,
    Group,
    Interleave,

        return p2
      if p1 instanceof NotAllowed
        if p2 instanceof Empty
          return new Empty("#{p2}", p2)
        return new Choice(p1, new MissingContent("Missing: #{p2}", p2))
      if p2 instanceof NotAllowed
        if p1 instanceof Empty
          return new Empty("#{p1}", p1)
        return new Choice(new MissingContent("Missing: #{p1}"), p2)
      if p2 instanceof Empty
        return new Empty("#{p2}", p2)
      return p2

    _check: (node, descend) =>
