anchor.diff:      {S, _} = write_binary(B, D, -1),
       S.
   
  -write_binary(B, D, T) ->
  +write_binary(B, D, T) when is_integer(T) ->
       {S, Rest} = write_binary_body(B, D, tsub(T, 4), []),
       {[$<,$<,lists:reverse(S),$>,$>], Rest}.
   
  
positive.code:        true ->
  	    {stop,Data,eof}
      end;
  collect_chars(start,Data,_,N) when is_list(Data) ->
      collect_chars_list([], N, Data);
  collect_chars(start, eof, _,_) ->
      {stop,eof,eof};
  collect_chars({binary,Stack,_N}, eof, _,_) ->
      {stop,binrev(Stack),eof};
  collect_chars({binary,Stack,N}, Data,unicode, _) ->
      {Size,Npos} = count_and_find_utf8(Data,N),
      if Size > N ->
  	    {B1,B2} = split_binary(Data, Npos),
  
negative.code:     if
          Depth =:= 0; CharsLimit =:= 0 ->
              "...";
          is_integer(CharsLimit), CharsLimit < 0, is_integer(Depth) ->
              write1(Term, Depth, Encoding);
          is_integer(CharsLimit), CharsLimit > 0 ->
              RecDefFun = fun(_, _) -> no end,
              If = io_lib_pretty:intermediate
                   (Term, Depth, CharsLimit, RecDefFun, Encoding, _Str=false),
  