anchor.diff:  unmarshal(variant, Data, Pos) ->
       lager:info("unmarshal 17"),
       {Signature, Data1, Pos1} = unmarshal(signature, Data, Pos),
  -    [Type] = unmarshal_signature(Signature),
  +    lager:info("unmarshal Signature=~p, Data1=~p, Pos1=~p",[Signature,Data, Pos]),
  +    Type = unmarshal_signature(Signature),
       lager:info("unmarshal 17 Type=~p",[Type]),
       {Value, Data2, Pos2} = unmarshal(Type, Data1, Pos1),
  -    lager:info("unmarshal 17 Type=~p,Data1=~p,Pos1=~p",[Type,Data,Pos]),
  +    lager:info("unmarshal 17 Value=~p,Data1=~p,Pos1=~p",[Value,Data,Pos]),
       {#dbus_variant{type=Type, value=Value}, Data2, Pos2}.
   
   
  
positive.code: unmarshal_list([Type|T], Data, Res, Pos) ->
      lager:info("unmarshal_list 4 "),
      {Value, Data1, Pos1} = unmarshal(Type, Data, Pos),
      unmarshal_list(T, Data1, [Res, Value], Pos1).
  
  
  
negative.code: unmarshal_data(Data) ->
      unmarshal_data(Data, []).
  
  
  -spec unmarshal_signature(binary()) -> dbus_signature().
  unmarshal_signature(<<>>) -> 
      lager:info("unmarshal_signature/1  1"),
      [];
  unmarshal_signature(<<C>>) ->
      lager:info("unmarshal_signature/1  2"),
      Type = unmarshal_type(<<C>>),
      lager:info("TTTTTTYPE= ~p",[Type]),
      Type;
  unmarshal_signature(Bin) when is_binary(Bin) ->
      lager:info("unmarshal_signature/1  3"),
      {Signature, <<>>} = unmarshal_signature(Bin, []),
      lager:info("unmarshal_signature/1  3 Signature=~p",[Signature]),
      Signature.
  
  
  %%%
  %%% Priv marshalling
  