anchor.diff:          use _holder = new CompilationGlobalsScope(errorLogger, BuildPhase.TypeCheck)
   
           // Get the state at the end of the type-checking of the last file
  -        let finalSemanticModel = semanticModels.[semanticModels.Length-1]
  -
  -        let finalInfo = finalSemanticModel.TcInfo |> Eventually.force ctok
  +        let finalBoundModel = boundModels.[boundModels.Length-1]
  +
  +        let finalInfo = finalBoundModel.TcInfo |> Eventually.force ctok
   
           // Finish the checking
           let (_tcEnvAtEndOfLastFile, topAttrs, mimpls, _), tcState = 
               let results = 
  -                semanticModels 
  +                boundModels 
                   |> List.ofArray 
  -                |> List.map (fun semanticModel -> 
  +                |> List.map (fun boundModel -> 
                       let tcInfo, latestImplFile =
                           if enablePartialTypeChecking then
  -                            let tcInfo = semanticModel.TcInfo |> Eventually.force ctok
  +                            let tcInfo = boundModel.TcInfo |> Eventually.force ctok
                               tcInfo, None
                           else
  -                            let tcInfo, tcInfoOptional = semanticModel.TcInfoWithOptional |> Eventually.force ctok
  +                            let tcInfo, tcInfoOptional = boundModel.TcInfoWithOptional |> Eventually.force ctok
                               tcInfo, tcInfoOptional.latestImplFile
                       tcInfo.tcEnvAtEndOfFile, defaultArg tcInfo.topAttribs EmptyTopAttrs, latestImplFile, tcInfo.latestCcuSigForFile)
               TypeCheckMultipleInputsFinish (results, finalInfo.tcState)
  
positive.code:         let cache = TimeStampCache defaultTimeStamp
  
          match! tryGetFinalized cache ctok with
          | Some ((ilAssemRef, tcAssemblyDataOpt, tcAssemblyExprOpt, semanticModel), timestamp) -> 
              return PartialCheckResults.Create (semanticModel, timestamp), ilAssemRef, tcAssemblyDataOpt, tcAssemblyExprOpt
          | None -> 
              let msg = "Build was not evaluated, expected the results to be ready after 'tryGetFinalized')."
              return! failwith msg
  
negative.code:     (*
          The data below represents a dependency graph.
          
          ReferencedAssembliesStamps => FileStamps => BoundModels => FinalizedBoundModel
      *)
  
      // stampedFileNames represent the real stamps of the files.
  