anchor.diff:      open Microsoft.FSharp.Quotations.Patterns
       open Microsoft.FSharp.Reflection
   
  -    let private replace (asmMappings : (Assembly * Assembly) list) (original, originalAsms : Assembly list) f =
  +    let private replace asmMappings (original, originalAsms) f =
           let toAsm = 
               asmMappings
               |> Seq.tryPick (fun (fromAsm, toAsm) -> 
  
positive.code:         | Some toAsm -> f toAsm
          | None -> original
  
      let private replaceLazy (asmMappings : (Assembly * Assembly) list) (lazyOriginal : 'a Lazy, originalAsm) f =
          let toAsm = 
              asmMappings
              |> Seq.tryPick (fun (fromAsm, toAsm) -> if originalAsm = fromAsm then Some toAsm else None)
          match toAsm with
          | Some toAsm -> f toAsm
          | None -> lazyOriginal.Value
  
negative.code:                 newC)
  
      let private replaceUnionCase asmMappings (uci : UnionCaseInfo) exprs =
          replaceLazy asmMappings (lazy (Expr.NewUnionCase (uci, exprs)), getAssemblies uci.DeclaringType) (fun toAsm ->
              let t = getType toAsm uci.DeclaringType (replaceType asmMappings)
              let constructorMethod = t.GetMethod(uci.Name)
              if constructorMethod = null then
  