anchor.diff:      | Or of Pattern * Pattern
       /// Boolean AND of two regular expressions.
       | And of Pattern * Pattern
  -
       (* TODO :   The Xor pattern can be implemented easily by rewriting it with one of the identities:
                   p XOR q => (p OR q) AND (NOT (p AND q))
                   -- or --
  
positive.code: //    | Xor of Pattern * Pattern
  
      (* Extensions *)
      /// The empty language.
      | Empty
      /// Any character.
      // NOTE : This actually represents *any* character; it is not the same as the '.' pattern
      // in a lexer definition ('.' represents any character _except_ for '\n').
      | Any
      /// A character.
      | Character of char
      /// The specified Pattern is matched one (1) or more times.
      /// This is the Plus (+) operator in a regular expression.
      | OneOrMore of Pattern
  
negative.code:     (* Regex cases *)
      /// The empty string.
      | Epsilon
      /// Kleene *-closure.
      /// The specified Pattern will be matched zero (0) or more times.
      | Star of Pattern
  