anchor.diff:      ParseValue :: decode_fun(),
       L :: [parsed_field()] ) -> { Res :: [any()], Rest :: [parsed_field()] }.
   
  --spec parse_packed_repeated_field/3 :: (
  +-spec parse_packed_repeated_field/4 :: (
       Code :: pos_integer(),
  -    ParseValue :: packed_decode_fun(),
  +    ParsePackedValue :: packed_decode_fun(),
  +    ParseValue :: decode_fun(),
       L :: [parsed_field()] ) -> { Res :: [any()], Rest :: [parsed_field()] }.
   
   -spec parse_flag/2 :: (
  
positive.code:     ParseValue :: decode_fun(),
      piqirun_buffer() ) -> [ any() ].
  
  -spec parse_packed_list/2 :: (
      ParseValue :: packed_decode_fun(),
      piqirun_buffer() ) -> [ any() ].
  
  
  
negative.code:     ParseValue(X).
  
  
  parse_packed_list(ParsePackedValue, ParseValue, X) ->
      Fields = parse_record(X),
      L = [ parse_packed_list_elem(ParsePackedValue, ParseValue, F) || F <- Fields ],
      lists:append(L).
  
  
  % NOTE: expecting "1" as list element's code
  parse_packed_list_elem(ParsePackedValue, ParseValue, {1, X}) ->
      parse_packed_field(ParsePackedValue, ParseValue, X).
  
  
  -spec find_fields/2 :: (
  