anchor.diff:  %%	Prettyprint-formats (naively) an abstract Core Erlang syntax
   %%	tree.
   
  --record(ctxt, {class = term    :: 'clause' | 'def' | 'expr' | 'term',
  -	       indent = 0      :: integer(),
  +-record(ctxt, {indent = 0      :: integer(),
   	       item_indent = 2 :: integer(),
   	       body_indent = 4 :: integer(),
   	       line = 0        :: integer(),
  
positive.code: 
  format_map_pair(Op, K, V, Ctxt0) ->
      Ctxt1 = add_indent(Ctxt0, 1),
      Txt = format(K, set_class(Ctxt1, expr)),
      Ctxt2 = add_indent(Ctxt0, width(Txt, Ctxt1)),
      [Txt,Op,format(V, Ctxt2)].
  
  
negative.code:     format_1(#c_binary{anno=A,segments=Segs}, Ctxt);
  format_1(#c_literal{anno=A,val=M},Ctxt) when is_map(M) ->
      Pairs = maps:to_list(M),
      Op = #c_literal{val=assoc},
      Cpairs = [#c_map_pair{op=Op,
  			  key=#c_literal{val=K},
  			  val=#c_literal{val=V}} || {K,V} <- Pairs],
      format_1(#c_map{anno=A,arg=#c_literal{val=#{}},es=Cpairs},Ctxt);
  format_1(#c_var{name={I,A}}, _) ->
      [core_atom(I),$/,integer_to_list(A)];
  format_1(#c_var{name=V}, _) ->
  