anchor.diff:  pack_(Map) when is_tuple(Map), element(1,Map)=:=dict ->
       pack_map(dict:to_list(Map));
   pack_(_Other) ->
  -    throw({error, undefined}).
  -
  +    throw({error, badarg}).
  +
  +-spec pack_uint_(non_neg_integer()) -> binary().
   % positive fixnum
   pack_uint_(N) when N < 128 ->
       << 2#0:1, N:7 >>;
  
positive.code: 	    << 16#DB:8, Len:32/big-unsigned-integer-unit:1, Bin/binary >>
      end.
  
  % list
  pack_array(L) ->
      case length(L) of
  
negative.code: pack_double(F) ->
      << 16#CB:8, F:64/big-float-unit:1 >>.
  
  -spec pack_raw(binary()) -> binary().
  % raw bytes
  pack_raw(Bin) ->
      case byte_size(Bin) of
  