anchor.diff:  format_1(#c_alias{var=V,pat=P}, Ctxt) ->
       Txt = [format(V, Ctxt)|" = "],
       [Txt|format(P, add_indent(Ctxt, width(Txt, Ctxt)))];
  -format_1(#c_let{vars=Vs0,arg=A,body=B}, Ctxt) ->
  -    Vs = [cerl:set_ann(V, []) || V <- Vs0],
  -    case is_simple_term(A) of
  +format_1(#c_let{anno=Anno0,vars=Vs0,arg=A0,body=B}, #ctxt{clean=Clean}=Ctxt) ->
  +    {Vs,A,Anno} = case Clean of
  +		      false ->
  +			  {Vs0,A0,Anno0};
  +		      true ->
  +			  {[cerl:set_ann(V, []) || V <- Vs0],
  +			   cerl:set_ann(A0, []),
  +			   []}
  +		  end,
  +    case is_simple_term(A) andalso Anno =:= [] of
   	false ->
   	    Ctxt1 = add_indent(Ctxt, Ctxt#ctxt.body_indent),
   	    ["let ",
  
positive.code: 					 width(Ptxt, Ctxt) + 6))];
  	 false ->
  	     [nl_indent(Ctxt2), "when ",
  	      format_guard(G, add_indent(Ctxt2, 2))]
       end++
       " ->",
       nl_indent(Ctxt2)
  
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),
       "}~"
  