anchor.diff:      unmarshal_array(SubType, Length - Size, Data1, Res ++ [Value], Pos1).
   
   unmarshal_list(Types, Data) when is_list(Types), is_binary(Data) ->
  -    {ok, Data1, Res, Pos} = unmarshal_list(Types, Data, [], 0),
  +    {ok, Data1, Res, Pos} = unmarshal_list(Types, Data, 0),
       {ok, Data1, Res, Pos}.
   
   unmarshal_list(Types, Data, Pos) when is_list(Types) ->
  
positive.code: -include("dbus.hrl").
  
  
  -compile([export_all]).
  
  %% api
  -export([]).
  
  test() ->
      Data = read_test(),
      marshaller:unmarshal_list([byte, byte, byte, byte, uint32, uint32, {array, {struct, [byte, variant]}}], Data).
  
  read_test() ->
      {ok, File} = file:open("/tmp/bytes", [binary, read]),
  
negative.code:     Length = Pos2 - Pos1,
      {ok, Value1, Pos1} = marshal(uint32, Length, Pos0),
      {ok, [<<0:Pad>>, Value1, Value2], Pos2};
  marshal({struct, _SubTypes}=Type, Value, Pos) when is_tuple(Value) ->
      marshal(Type, tuple_to_list(Value), Pos);
  marshal({struct, SubTypes}, Value, Pos) when is_list(Value) ->
      marshal_struct(SubTypes, Value, Pos);
  