anchor.diff:      marshal_array(SubType, R, Pos1, [Res, Value1]).
   
   
  +marshal_dict(KeyType, ValueType, Value, Pos) when is_map(Value) ->
  +    marshal({array, {struct, [KeyType, ValueType]}}, maps:to_list(Value), Pos);
  +
   marshal_dict(KeyType, ValueType, Value, Pos) when is_tuple(Value) ->
  -    Array = dict:to_list(Value),
  -    marshal_dict(KeyType, ValueType, Array, Pos);
  +    marshal({array, {struct, [KeyType, ValueType]}}, dict:to_list(Value), Pos);
   
   marshal_dict(KeyType, ValueType, Value, Pos) when is_list(Value) ->
       marshal({array, {struct, [KeyType, ValueType]}}, Value, Pos).
  
positive.code:         more -> more;
          {ok, Value, Data1, Pos1} ->
              unmarshal_struct(S, Data1, [Value | Acc], Pos1, Endian)
      end.
  
  
  
negative.code: infer_struct([ Value | R ], Res) ->
      infer_struct(R, [ infer_type(Value) | Res ]).
  
  infer_int(Value) when Value >= -32767 ->
      int16;
  infer_int(Value) when Value >= -2147483647 ->
      int32;
  infer_int(_Value) ->
      int64.
  