anchor.diff:  %%  we just quit as we know necessary "..." will have come from an
   %%  earlier print1 at same depth.
   
  -print1_tail_max(_, _, I, L, _) when I >= L -> no;    %No more room
  +print1_tail_max(_, _, I, L, _) when I >= L ->   %No more room
  +    no;
   print1_tail_max([], _, _, _, Acc) -> {yes,reverse(Acc)};
   print1_tail_max(_, 0, _, _, Acc) -> {yes,reverse(Acc, [" ..."])};
   print1_tail_max([Car|Cdr], D, I, L, Acc) ->
  
positive.code:     print1_tail_max([], D-1, I + flatlength(Cs) + 3, L, [Cs," . "|Acc]).
  
  %% print1_list(List, Depth, Indentation, LineLength)
  %%  Print a list, one element per line. No leading/trailing ().
  
  print1_list([], _, _, _) -> [];
  print1_list(_, 0, _, _) -> "...";
  print1_list([Car|Cdr], D, I, L) ->
      [print1(Car, D, I, L),print1_tail(Cdr, D-1, I, L)].
  
  %% print1_tail(Tail, Depth, Indentation, LineLength)
  %%  Print the tail of a list decreasing the depth for each element. We
  %%  know about dotted pairs.
  
  print1_tail([], _, _, _) -> "";
  print1_tail(_, 0, _, _) -> "...";
  print1_tail([Car|Cdr], D, I, L) ->
      ["\n",blanks(I, []),print1(Car, D, I, L),print1_tail(Cdr, D-1, I, L)];
  print1_tail(S, D, I, L) ->
      [" .\n",blanks(I, print1(S, D, I, L))].
  
  blanks(N, Tail) -> string:chars($\s, N, Tail).
  
  
negative.code:         {yes,Print}  -> ["#(",Print,")"];
          no -> ["#(",print1_list(Es, D-1, I+2, L),")"]
      end;
  print1(Bit, D, _, _) when is_bitstring(Bit) ->
      ["#B(",lfe_io:print1_bits(Bit, D),$)];      %First D bytes
  print1(Map, D, I, L) when ?IS_MAP(Map) ->
      print1_map(Map, D, I, L);
  print1(Other, _, _, _) ->
  