anchor.diff:          cont {
           match pattern with
           | Pattern.Epsilon ->
  -            return Choice1Of2 Regex.Epsilon
  +            return Choice1Of2 Regex.epsilon
   
           | Pattern.CharacterSet charSet ->
               // Make sure all of the characters in the set are ASCII characters unless the 'Unicode' option is set.
  -            if options.Unicode || CharSet.forall (fun c -> int c <= int System.Byte.MaxValue) charSet then
  -                return
  -                    Regex.CharacterSet charSet
  +            if options.Unicode || isAsciiCharSet charSet then
  +                return
  +                    Regex.ofCharSet charSet
                       |> Choice1Of2
               else
                   return
  
positive.code:                 return err
              | Choice1Of2 r, Choice1Of2 s ->
                  return
                      Regex.And (r, s)
                      |> Choice1Of2
  
          | Pattern.Or (r, s) ->
  
negative.code:     // Call the function which traverses the pattern to validate/preprocess it.
      validateAndSimplify pattern <| function
          | Choice2Of2 errors ->
              List.revIntoArray errors
              |> Choice2Of2
          | Choice1Of2 processedPattern ->
              Choice1Of2 processedPattern
  