anchor.diff:  	       item_indent = 2 :: integer(),
   	       body_indent = 4 :: integer(),
   	       tab_width = 8   :: non_neg_integer(),
  -	       line = 0        :: integer()}).
  +	       line = 0        :: integer(),
  +	       clean = true    :: boolean()}).
   
   -spec format(cerl:cerl()) -> iolist().
   
   format(Node) ->
       format(Node, #ctxt{}).
   
  -maybe_anno(Node, Fun, Ctxt) ->
  +-spec format_all(cerl:cerl()) -> iolist().
  +
  +format_all(Node) ->
  +    format(Node, #ctxt{clean=false}).
  +
  +maybe_anno(Node, Fun, #ctxt{clean=false}=Ctxt) ->
       As = cerl:get_ann(Node),
  -    case get_line(As) of
  +    maybe_anno(Node, Fun, Ctxt, As);
  +maybe_anno(Node, Fun, #ctxt{clean=true}=Ctxt) ->
  +    As0 = cerl:get_ann(Node),
  +    case get_line(As0) of
   	none ->
  -	    maybe_anno(Node, Fun, Ctxt, As);
  +	    maybe_anno(Node, Fun, Ctxt, As0);
     	Line ->
  -	    if  Line > Ctxt#ctxt.line ->
  +	    As = strip_line(As0),
  +	    if Line > Ctxt#ctxt.line ->
   		    [io_lib:format("%% Line ~w",[Line]),
   		     nl_indent(Ctxt),
   		     maybe_anno(Node, Fun, Ctxt#ctxt{line = Line}, As)
  
positive.code:      format_hseq(Vs, ",", add_indent(Ctxt, 1), fun format/2),
       $>].
  
  format_bitstr(#c_bitstr{val=V,size=S,unit=U,type=T,flags=Fs}, Ctxt0) ->
      Vs = [S, U, T, Fs],
      Ctxt1 = add_indent(Ctxt0, 2),
      Val = format(V, Ctxt1),
  
negative.code:      format_hseq(Es, ",", add_indent(Ctxt, 1), fun format/2),
       $}
      ];
  format_1(#c_map{arg=#c_literal{anno=[],val=M},es=Es}, Ctxt)
    when is_map(M), map_size(M) =:= 0 ->
      ["~{",
       format_hseq(Es, ",", add_indent(Ctxt, 1), fun format/2),
       "}~"
  