anchor.diff:        Term :: term(),
         ErrorInfo :: error_info().
   parse_term(Tokens) ->
  +    ?ANNO_CHECK(Tokens),
       A = erl_anno:new(0),
       case parse([{atom,A,f},{'(',A},{')',A},{'->',A}|Tokens]) of
   	{ok,{function,_Af,f,0,[{clause,_Ac,[],[],[Expr]}]}} ->
  
positive.code:       AbsForm :: abstract_form(),
        ErrorInfo :: error_info().
  parse_form([{'-',A1},{atom,A2,spec}|Tokens]) ->
      parse([{'-',A1},{'spec',A2}|Tokens]);
  parse_form([{'-',A1},{atom,A2,callback}|Tokens]) ->
      parse([{'-',A1},{'callback',A2}|Tokens]);
  parse_form(Tokens) ->
      parse(Tokens).
  
  -spec parse_exprs(Tokens) -> {ok, ExprList} | {error, ErrorInfo} when
  
negative.code:       ExprList :: [abstract_expr()],
        ErrorInfo :: error_info().
  parse_exprs(Tokens) ->
      ?ANNO_CHECK(Tokens),
      A = erl_anno:new(0),
      case parse([{atom,A,f},{'(',A},{')',A},{'->',A}|Tokens]) of
  	{ok,{function,_Lf,f,0,[{clause,_Lc,[],[],Exprs}]}} ->
  