anchor.diff:      let private getType (asm:Assembly) (t:Type) rt =
           let getFullName (t:Type) =
               let fullName = t.FullName        
  -            if fullName.StartsWith("FSI_")
  -            then fullName.Substring(fullName.IndexOf('.') + 1)
  -            else fullName
  +            if fullName.StartsWith("FSI_") then 
  +                fullName.Substring(fullName.IndexOf('.') + 1)
  +            else 
  +                fullName
  +        let getType name =
  +            if asm.GetName().Name = "FSI-ASSEMBLY" then
  +                asm.GetTypes() 
  +                |> Seq.filter (fun t -> t.FullName.EndsWith name)
  +                |> Seq.last
  +            else
  +                asm.GetType (getFullName t)
           let newT =
               if t.IsGenericType && not t.IsGenericTypeDefinition then 
                   let genericType = t.GetGenericTypeDefinition()
  -                let newT = asm.GetType (getFullName genericType)
  +                let newT = getType (getFullName genericType)
                   if newT = null then 
                       null
                   else
  
positive.code:             if newP = null then
                  failwithf "Property '%O' of type '%O' not found in '%s'" p t toAsm.Location
              newP)
      
      let private replaceMethod asmMappings (m : MethodInfo) =
          if m.GetType() = typeof<ProvidedMethod> then m
  
negative.code:                         |> Seq.toArray
                      newT.MakeGenericType(typeArguments)
              else 
                  getType (getFullName t)
          if newT = null then
              failwithf "Type '%O' not found in '%s'" t asm.Location
          newT
  