anchor.diff:               ("level", JsonStr level);
                ("contents", js_contents)]
   
  -let write_message level contents =
  -  write_json (json_of_message level contents)
  +let forward_message callback level contents =
  +  callback (json_of_message level contents)
   
   let json_of_hello =
     let js_version = JsonInt interactive_protocol_vernum in
  
positive.code:     printer_prgeneric = (fun label get_string get_json ->
                           forward_message printer label (get_json ())) }
  
  let install_ide_mode_hooks () =
    FStar.Util.set_printer interactive_printer;
    FStar.Errors.set_handler interactive_error_handler
  
  let initial_range =
  
negative.code: (* Reading queries and writing responses *)
  (*****************************************)
  
  let json_debug = function
    | JsonNull -> "null"
    | JsonBool b -> Util.format1 "bool (%s)" (if b then "true" else "false")
    | JsonInt i -> Util.format1 "int (%s)" (Util.string_of_int i)
  