anchor.diff:  
       let private replaceConstructor asmMappings (c : ConstructorInfo) =
           if c.GetType() = typeof<ProvidedConstructor> then c
  -        else replace asmMappings (c, c.DeclaringType.Assembly) (fun toAsm ->
  +        else replace asmMappings (c, getAssemblies c.DeclaringType) (fun toAsm ->
               let t = getType toAsm c.DeclaringType (replaceType asmMappings)
               let parameterTypes = 
                   c.GetParameters() 
  
positive.code: 
      let private replaceVar asmMappings (varTable: IDictionary<_,_>) reversePass (v: Var) =
          if v.Type.GetType() = typeof<ProvidedTypeDefinition> then v
          else replace asmMappings (v, v.Type.Assembly) (fun toAsm ->
              if reversePass then
                  let newVar = Var (v.Name, getType toAsm v.Type (replaceType asmMappings), v.IsMutable)
                  // store the asmMappings as we'll have to revert them later
  
negative.code:     let private replaceMethod asmMappings (m : MethodInfo) =
          if m.GetType() = typeof<ProvidedMethod> then m
          elif m.DeclaringType.FullName = "Microsoft.FSharp.Core.LanguagePrimitives+IntrinsicFunctions" then m // these methods don't really exist, so there's no need to replace them
          else replace asmMappings (m, getAssemblies m.DeclaringType) (fun toAsm ->
                  let t = getType toAsm m.DeclaringType (replaceType asmMappings)
                  let parameterTypes = 
                      m.GetParameters() 
  