anchor.diff:                          let symbol = FSharpSymbol.Create(cenv, v.Item)
                           let symbolUse = FSharpSymbolUse(tcGlobals, newState.tcState.TcEnvFromImpls.DisplayEnv, symbol, ItemOccurence.Binding, v.DeclarationLocation)
                           fsi.TriggerEvaluation (fsiValueOpt, symbolUse, decl)
  +                        lastValue <- fsiValueOpt
                       | FSharpImplementationFileDeclaration.Entity (e,_) ->
                           // Report a top-level module or namespace definition
                           let symbol = FSharpSymbol.Create(cenv, e.Item)
                           let symbolUse = FSharpSymbolUse(tcGlobals, newState.tcState.TcEnvFromImpls.DisplayEnv, symbol, ItemOccurence.Binding, e.DeclarationLocation)
                           fsi.TriggerEvaluation (None, symbolUse, decl)
  +                        lastValue <- None
                       | FSharpImplementationFileDeclaration.InitAction _ ->
                           // Top level 'do' bindings are not reported as incremental declarations
  -                        ()
  +                        lastValue <- None
               | _ -> ()
           with _ -> ()
   
  -        newState
  -      
  -     
  +        newState, Completed lastValue
  +
       /// Evaluate the given expression and produce a new interactive state.
       member fsiDynamicCompiler.EvalParsedExpression (ctok, errorLogger: ErrorLogger, istate, expr: SynExpr) =
           let tcConfig = TcConfig.Create (tcConfigB, validate=false)
  
positive.code:         let newState = { istate with tcState = tcState.NextStateAfterIncrementalFragment(tcEnvAtEndOfLastInput) }
  
          // Find all new declarations the EvaluationListener
          try
              let contents = FSharpAssemblyContents(tcGlobals, tcState.Ccu, Some tcState.CcuSig, tcImports, declaredImpls)
              let contentFile = contents.ImplementationFiles.[0]
  
negative.code:             | IDefns ([  SynModuleDecl.DoExpr(_,expr,_)],_) ->
                  fsiDynamicCompiler.EvalParsedExpression(ctok, errorLogger, istate, expr)
              | IDefns (defs,_) -> 
                  fsiDynamicCompiler.EvalParsedDefinitions (ctok, errorLogger, istate, true, false, defs)
  
              | IHash (ParsedHashDirective("load",sourceFiles,m),_) -> 
                  fsiDynamicCompiler.EvalSourceFiles (ctok, istate, m, sourceFiles, lexResourceManager, errorLogger),Completed None
  