anchor.diff:          member this.ReadRelatedAssembly(bytes:byte[]) = 
               let fileName = "file.dll"
               let ilg = ilGlobals.Force()
  -            let reader = ILModuleReader(fileName, ByteFile(bytes), ilg, true)
  +            let is = ByteFile(bytes)
  +            let pe = PEReader(fileName, is)
  +            let mdchunk = File.ReadBinaryChunk (fileName, pe.MetadataPhysLoc, pe.MetadataSize)
  +            let mdfile = ByteFile(mdchunk)
  +            let reader = ILModuleReader(fileName, mdfile, ilg, true)
               TargetAssembly(ilg, this.TryBindILAssemblyRefToTgt, Some reader, fileName) :> Assembly
   
           member __.AddSourceAssembly(asm: Assembly) = 
  
positive.code: 
          // Amortize readers weakly - this is enough that all the type providers in this DLL will at least share
          // resources when all instantiated at the same time.
          let readersWeakCache = ConcurrentDictionary<(string * string), WeakReference>()
  
          type File with 
              static member ReadBinaryChunk (fileName: string, start, len) = 
  
negative.code:             let ilModule = seekReadModule (ilMetadataVersion) 1
              let ilAssemblyRefs = [ for i in 1 .. getNumRows ILTableNames.AssemblyRef do yield seekReadAssemblyRef i ]
  
              member __.MetadataBytes = is.Bytes
              member __.ILGlobals = ilg
              member __.ILModuleDef = ilModule
              member __.ILAssemblyRefs = ilAssemblyRefs
  