anchor.diff:          evalFailed.Trigger { File=file; AsExpression=asExpression; Text=text; Exception=e; StdErr = e.Result.Error.Merged }
           { Output = None; Result = None; ItValue = None } :> _
   
  -    //member x.Evaluate(text:string, asExpression, ?file) =
  -    // try
  -    //   lock lockObj <| fun () ->
  -    //     let dir =
  -    //       match file with
  -    //       | Some f -> Path.GetDirectoryName f
  -    //       | None -> Directory.GetCurrentDirectory()
  -    //     x.WithCurrentDirectory dir (fun () ->
  -    //        let (output, value), itvalue =
  -    //            if asExpression then
  -    //               match fsiSession.EvalExpressionNonThrowing text with
  -    //               | Choice1Of2 (Some fsiValue), err ->
  -    //                    match fsiSession.EvalExpression "it" with
  -    //                    | Some itValue ->
  -    //                       (fsiValue.ToString(),  Some(fsiValue.ReflectionValue,fsiValue.ReflectionType)),Some(itValue.ReflectionValue,itValue.ReflectionType)
  -    //                    | None  ->
  -    //                        (fsiValue.ToString(),  Some(fsiValue.ReflectionValue,fsiValue.ReflectionType)), None
  -    //               | Choice1Of2 None, err ->
  -    //                    let msg = String.Concat err
  -    //                    (msg ,None),None
  -    //               | Choice2Of2 ex,  err ->
  -    //                    let msg = String.concat "\n" [ String.Concat err;  ex.Message; ex.StackTrace ]
  -    //                    (msg , None), None
  -    //            else
  -    //               match fsiSession.EvalExpression text with
  -    //               | Some fsiValue ->
  -    //                    // try get the "it" value, but silently ignore any errors
  -    //                   try
  -    //                      match fsiSession.EvalExpression "it" with
  -    //                      | Some itValue ->
  -    //                         (fsiValue.ToString(),  Some(fsiValue.ReflectionValue,fsiValue.ReflectionType)),Some(itValue.ReflectionValue,itValue.ReflectionType)
  -    //                      | None  ->
  -    //                         (fsiValue.ToString(),  Some(fsiValue.ReflectionValue,fsiValue.ReflectionType)), None
  -    //                   with _ -> (fsiValue.ToString(), None), None
  -    //               | None -> ("---", None), None
  -    //        { Output = Some output; Result = value; ItValue = itvalue  } :> _
  -    //     )
  -    // with :? FsiEvaluationException as e ->
  -    //   //evalFailed.Trigger { File=file; AsExpression=asExpression; Text=text; Exception=e; StdErr = e.Result.Error.Merged }
  -    //    { Output = None; Result = None; ItValue = None } :> _
positive.code: open System
  open System.IO
  open FSharp.Markdown
  open FSharp.CodeFormat
  open Yaaf.FSharp.Scripting
  
  
  
negative.code:       | _, FsiEmbedKind.ItValue -> [ CodeBlock ("No value has been returned", "", "", None) ]
        | _, FsiEmbedKind.Value -> [ CodeBlock ("No value has been returned", "", "", None) ]
  
      /// Evaluates the given text in an fsi session and returns
      /// an FsiEvaluationResult.
      ///
  