anchor.diff:  marshal_struct_signature([], Res) ->
       Res;
   marshal_struct_signature([SubType|R], Res) ->
  -    marshal_struct_signature(R, Res ++ [marshal_signature(SubType)]).
  +    marshal_struct_signature(R, Res ++ marshal_signature(SubType)).
   
   %% unmarshal(Type, Binary) ->
   
  
positive.code: 
      %% TODO check length(KeySig) == 1
  
      [$a, ${, KeySig, ValueSig, $}];
  marshal_signature([]) ->
      "";
  marshal_signature([Type|R]) ->
  
negative.code: marshal_signature(signature) ->
      "g";
  marshal_signature({array, Type}) ->
      [$a | marshal_signature(Type)];
  marshal_signature({struct, SubTypes}) ->
      %% TODO use reverse?
      "(" ++ marshal_struct_signature(SubTypes, []) ++ ")";
  marshal_signature(variant) ->
      "v";
  marshal_signature({dict, KeyType, ValueType}) ->
  