anchor.diff:  	Code when Code >= 2#10000000 , Code < 2#10010000 ->
   %        1000XXXX for FixMap
   	    Len = Code rem 2#10000000,
  -	    unpack_map_(Payload, Len, dict:new());
  +	    unpack_map_(Payload, Len, []);
   
   	_Other ->
   	    {error, no_code_matches}
  
positive.code: % FIXME: write test for unpack_map/1
  -spec unpack_map_(binary(), non_neg_integer(), [{term(), msgpack_term()}])->
      {more, non_neg_integer()} | { any(), binary()}.
  unpack_map_(Bin,  0,  Dict) when is_binary(Bin) -> {Dict, Bin};
  unpack_map_(Bin, Len, Dict) when is_binary(Bin) and is_integer(Len) ->
      case unpack(Bin) of
  	{ more, MoreLen } -> { more, MoreLen+Len-1 };
  	{ Key, Rest } ->
  	    case unpack(Rest) of
  		{more, MoreLen} -> { more, MoreLen+Len-1 };
  		{ Value, Rest2 }->
  		    unpack_map_(Rest2,Len-1,dict:store(Key,Value,Dict))
  	    end
      end.
  
  
negative.code:     pack_raw(Bin);
  pack(List)  when is_list(List) ->
      pack_array(List);
  pack({Map}) when is_list(Map) ->
      pack_map(Map);
  pack(Map) when is_tuple(Map), element(1,Map)=:=dict ->
      pack_map(dict:from_list(Map));
  pack(_O) ->
      {error, undefined}.
  
  