anchor.diff:         [splice_clauses(
             '<enum-sym>',
             [begin
  -               ViBytes = [erl_parse:abstract(N)
  -                          || N <- encode_enum_varint_value(EnumValue)],
  +               ViBytes = enum_to_binary_fields(EnumValue),
                  gpb_codegen:fn_clause(
                    fun('<s>', Bin) -> <<Bin/binary, '<b>'>> end,
                    [replace_term('<s>', EnumSym),
  
positive.code:      || {{enum, EnumName}, EnumDef} <- Defs,
          smember({enum,EnumName}, UsedTypes)].
  
  encode_enum_varint_value(Value) ->
      <<N:32/unsigned-native>> = <<Value:32/signed-native>>,
      binary_to_list(gpb:encode_varint(N)).
  
  varint_to_byte_text(N) ->
      Bin = gpb:encode_varint(N),
  
negative.code:                              erl_syntax:atom(RecordName),
                               erl_syntax:atom(FieldName)).
  
  var_f_n(N) -> var_n("F", N).
  var_b_n(N) -> var_n("B", N).
  
  var_n(S, N) ->
      erl_syntax:variable(?ff("~s~w", [S, N])).
  
  assign_to_var(Var, Expr) ->
      ?expr('<Var>' = '<Expr>',
  