anchor.diff:      open Microsoft.FSharp.Compiler
       open Microsoft.FSharp.Compiler.AbstractIL.Internal
       open Microsoft.FSharp.Compiler.AbstractIL.Internal.Library
  -
  -/// Anything to do with special names of identifiers and other lexical rules 
  -
       open System.Globalization
       open System.Collections.Generic
  +    open System.Collections.Concurrent
   
       //------------------------------------------------------------------------
       // Operator name compilation
       //-----------------------------------------------------------------------
   
  -    let parenGet = ".()"
  -    let parenSet = ".()<-"
  -    let qmark = "?"
  -    let qmarkSet = "?<-"
  +    let [<Literal>] parenGet = ".()"
  +    let [<Literal>] parenSet = ".()<-"
  +    let [<Literal>] qmark = "?"
  +    let [<Literal>] qmarkSet = "?<-"
  +
  +    /// Prefix for compiled (mangled) operator names.
  +    let [<Literal>] opNamePrefix = "op_"
   
       let private opNameTable = 
  -     [ ("[]", "op_Nil");
  +     [|("[]", "op_Nil");
          ("::", "op_ColonColon");
          ("+", "op_Addition");
          ("~%", "op_Splice");
  
positive.code:     //IsActivePatternName "||S|" = true
  
      type ActivePatternInfo = 
          | APInfo of bool * string list 
          member x.IsTotal = let (APInfo(p,_)) = x in p
          member x.ActiveTags = let (APInfo(_,tags)) = x in tags
  
  
negative.code:     // Return a string array delimited by the given separator.
      // Note that a quoted string is not going to be mangled into pieces. 
      let private splitAroundQuotation (text:string) (separator:char) =
          let length = text.Length
          let isNotQuotedQuotation n = n > 0 && text.[n-1] <> '\\'
          let rec split (i, cur, group, insideQuotation) =        
              if i>=length then List.rev (cur::group) else
              match text.[i], insideQuotation with
              // split when seeing a separator
              | c, false when c = separator -> split (i+1, "", cur::group, false)
              // keep reading if a separator is inside quotation
  