anchor.diff:          Seq.map getLazyTypedInfo project.Files
           |> Seq.zip project.Files
           |> Seq.iter (fun (k,v) -> lazyTypedInfos.Add(k,v))
  +        
  +        Seq.zip project.Files initialLazyTypedInfos
  +        |> Seq.iter (fun (k,v) -> if Option.isSome v then lazyTypedInfos.[k] <- v.Value)
       
       member private self.UntypedInfoAndContents filename =
           let untypedInfo = (lazyUntypedInfos.[filename]).Force()
  
positive.code:     { typedInfo : TypeCheckResults option
        contents : string }
  
  type ParseInfoCache(project:Project) as self =
      let checker, options = Ast.getCheckerAndOptions project.Files
      let lazyUntypedInfos = new Dictionary<string,Lazy<UntypedInfo>>()
      let lazyTypedInfos = new Dictionary<string,Lazy<TypedInfo>>()
  
negative.code:         else
              checker.StartBackgroundCompile options
              let newLazyUntypedInfo = getLazyUntypedInfo filename
              lazyUntypedInfos.[filename] <- newLazyUntypedInfo
              newLazyUntypedInfo.Force()
  
      member self.UntypedInfo filename =
  