anchor.diff:  
   format_msgs(Indent, Msgs) ->
       string:join([indent(Indent,
  -                        f("{~w, [~n~s]}",
  -                          [{msg,Msg}, format_efields(Indent+2, Fields)]))
  +                        f("{~w,~n~s[~s]}",
  +                          [{msg,Msg},
  +                           indent(Indent+1, ""),
  +                           outdent_first(format_efields(Indent+2, Fields))]))
                    || {{msg,Msg},Fields} <- Msgs],
                   ",\n").
   
  
positive.code:          "    gpb:decode_msg(Bin, MsgName, get_msg_defs()).~n"),
         "\n",
         f("get_msg_defs() ->~n"
           "    [~n~s].~n", [format_msgs_and_enums(5, Defs)])]).
  
  format_msgs_and_enums(Indent, Defs) ->
      Enums = [Item || {{enum, _}, _}=Item <- Defs],
  
negative.code: 
  format_msg_record(Msg, Fields) ->
      [f("-record(~p,~n", [Msg]),
       f("        {"),
       case outdent_first(format_hfields(8+1, Fields)) of
           ""  -> "\n";
           FFs -> FFs
       end,
       f("        }).~n")].
  
  format_hfields(Indent, Fields) ->
  