anchor.diff:    
   to_term(Bin) ->
     try
  -    {ok,Ts,_}= erl_scan:string(binary_to_list(Bin)),
  +    {ok,Ts,_} = erl_scan:string(binary_to_list(Bin)),
       {ok,Term} = erl_parse:parse_term(Ts),
       Term
     catch
  
positive.code:       exit({open_error, R, Filename})
    end.
  
  wrap(Fun,xml)  -> Fun;
  wrap(Fun,sax)  -> sax_f(Fun);
  wrap(Fun,term) -> term_f(Fun);
  wrap(Fun,line) -> Fun.
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %%% term funs
  
negative.code:   ?state(Acc,?tail_eof(Bin,Off)).
  
  -define(is_empty(X), X=:=<<>>; X=:=<<"\n">>; X=:=<<"\n\r">>).
  chunker(zet) ->
    fun(?tail_eof(Bin,Off)) ->
       case Bin of
         <<_:Off/binary>> ->
           {cont,?tail_0()};
         <<_:Off/binary,R:4/binary,Rs/binary>> ->
           exit([{trailing_bytes,byte_size(Rs)+4},{tail,R}]);
         <<_:Off/binary,R/binary>> ->
           exit([{trailing_bytes,byte_size(R)},{tail,R}])
       end;
       (?tail(Bin,Off)) -> 
        case Bin of
          <<_:Off/binary,S:32/integer,B:S/binary,_/binary>> ->
            {ok,binary_to_term(B),?tail(Bin,Off+4+S)};
          <<_:Off/binary,R/binary>> ->
            {cont,R}
        end
    end;
  chunker(Type) ->
    {ok,Patt} = chunker_patt(Type),
    fun(?tail_eof(Bin,Off)) ->
  