anchor.diff:  	    end
       end.
   
  -maybe_anno(Node, Fun, Ctxt, As) ->
  -    case strip_line(As) of
  -	[] ->
  -	    Fun(Node, Ctxt);
  -	List ->
  -	    Ctxt1 = add_indent(Ctxt, 2),
  -	    Ctxt2 = add_indent(Ctxt1, 3),
  -	    ["( ",
  -	     Fun(Node, Ctxt1),
  -	     nl_indent(Ctxt1),
  -	     "-| ",format_anno(List, Ctxt2)," )"
  -	    ]
  -    end.
  +maybe_anno(Node, Fun, Ctxt, []) ->
  +    Fun(Node, Ctxt);
  +maybe_anno(Node, Fun, Ctxt, List) ->
  +    Ctxt1 = add_indent(Ctxt, 2),
  +    Ctxt2 = add_indent(Ctxt1, 3),
  +    ["( ",
  +     Fun(Node, Ctxt1),
  +     nl_indent(Ctxt1),
  +     "-| ",format_anno(List, Ctxt2)," )"
  +    ].
   
   format_anno([_|_]=List, Ctxt) ->
       [$[,format_anno_list(List, Ctxt),$]];
  
positive.code: 	       item_indent = 2 :: integer(),
  	       body_indent = 4 :: integer(),
  	       tab_width = 8   :: non_neg_integer(),
  	       line = 0        :: integer()}).
  
  -spec format(cerl:cerl()) -> iolist().
  
  format(Node) ->
      format(Node, #ctxt{}).
  
  maybe_anno(Node, Fun, Ctxt) ->
      As = cerl:get_ann(Node),
      case get_line(As) of
  	none ->
  	    maybe_anno(Node, Fun, Ctxt, As);
    	Line ->
  	    if  Line > Ctxt#ctxt.line ->
  		    [io_lib:format("%% Line ~w",[Line]),
  		     nl_indent(Ctxt),
  		     maybe_anno(Node, Fun, Ctxt#ctxt{line = Line}, As)
  
negative.code: 
  -module(core_pp).
  
  -export([format/1,format_all/1]).
  
  -include("core_parse.hrl").
  
  