anchor.diff:     "describe-protocol"; "describe-repl"; "exit";
      "lookup"; "lookup/context"; "lookup/documentation"; "lookup/definition";
      "peek"; "pop"; "push"; "search"; "segment";
  -   "vfs-add"; "tactic-ranges"]
  +   "vfs-add"; "tactic-ranges"; "interrupt"]
   
   exception InvalidQuery of string
   type query_status = | QueryOK | QueryNOK | QueryViolatesProtocol
  
positive.code:   let check_success () =
      get_err_count () = 0 && not must_rollback in
  
    // Run the task (and capture errors)
    let curmod, env, success =
      match with_captured_errors env
              (fun env -> Some <| run_repl_task st.repl_curmod env task) with
      | Some (curmod, env) when check_success () -> curmod, env, true
      | _ -> st.repl_curmod, env, false in
  
  
negative.code:     Errors.log_issue (TcEnv.get_range env) (Errors.Error_IDEAssertionFailure, msg);
      None
  
    | Util.SigInt ->
      Util.print_string "Interrupted"; None
  
    | Error (e, msg, r) ->
      TcErr.add_errors env [(e, msg, r)];
      None
  
  