anchor.diff:  
   -type parse_form_ret() :: {'ok', erl_parse_absform(), line()}
                           | {'eof', line()}
  -                        | {'error', erl_scan:error_info(), line()}.
  +                        | {'error', erl_scan:error_info(), line()}
  +                        | request_error().
   
   -spec parse_erl_form(prompt()) -> parse_form_ret().
   
  
positive.code: 
  %% Scanning Erlang code.
  
  -spec scan_erl_exprs(prompt()) -> erl_scan:tokens_result().
   
  scan_erl_exprs(Prompt) ->
      scan_erl_exprs(default_input(), Prompt, 1).
  
  -spec scan_erl_exprs(device(), prompt()) -> erl_scan:tokens_result().
  
  scan_erl_exprs(Io, Prompt) ->
      scan_erl_exprs(Io, Prompt, 1).
  
  -spec scan_erl_exprs(device(), prompt(), line()) -> erl_scan:tokens_result().
  
  scan_erl_exprs(Io, Prompt, Pos0) ->
      request(Io, {get_until,unicode,Prompt,erl_scan,tokens,[Pos0]}).
  
  -spec scan_erl_form(prompt()) -> erl_scan:tokens_result().
  
  scan_erl_form(Prompt) ->
      scan_erl_form(default_input(), Prompt, 1).
  
  -spec scan_erl_form(device(), prompt()) -> erl_scan:tokens_result().
  
  scan_erl_form(Io, Prompt) ->
      scan_erl_form(Io, Prompt, 1).
  
  -spec scan_erl_form(device(), prompt(), line()) -> erl_scan:tokens_result().
  
  scan_erl_form(Io, Prompt, Pos0) ->
      request(Io, {get_until,unicode,Prompt,erl_scan,tokens,[Pos0]}).
  
negative.code: -type device() :: atom() | pid().
  -type prompt() :: atom() | string().
  
  -type error_description() :: term(). % Whatever the io-server sends.
  -type request_error() :: {'error',error_description()}.
  %% XXX: Some uses of line() in this file may need to read erl_scan:location()
  -type line()   :: pos_integer().
  
  