anchor.diff:        ?gpb_field,
         lists:zip(FNames,
                   [erl_parse:abstract(FValue) || FValue <- FValues]),
  -      Opts);
  +      mk_get_defs_as_maps_or_records_fn(Opts));
   field_tree(#gpb_oneof{fields=OFields}=F, Opts) ->
       [gpb_oneof | FValues] = tuple_to_list(F),
       FNames = record_info(fields, gpb_oneof),
  
positive.code:       ?gpb_rpc,
        lists:zip(RNames,
                  [erl_parse:abstract(RValue) || RValue <- RValues]),
        Opts).
  
  rpcs_def_tree(Rpcs, Opts) ->
      case get_rpc_format_by_opts(Opts) of
  
negative.code:         maps    -> map_match(Fields)
      end.
  
  mapping_create(RName, Fields, Opts) when is_list(Opts) ->
      Fn = fun() -> get_records_or_maps_by_opts(Opts) end,
      mapping_create(RName, Fields, Fn);
  mapping_create(RName, Fields, RecordsOrMaps) when is_function(RecordsOrMaps) ->
      case RecordsOrMaps() of
          records -> record_create(RName, Fields);
          maps    -> map_create(Fields)
      end.
  