anchor.diff:  %% APIs are almost compatible with C API (http://msgpack.sourceforge.jp/c:doc)
   %% except buffering functions (both copying and zero-copying).
   -export([pack/1, unpack/1, unpack_all/1]).
  --export([pack_map/1]).
   
   % compile:
   % erl> c(msgpack).
  
positive.code: unpack_array_(Bin, Len, Acc) ->
      {Term, Rest} = unpack_(Bin),
      unpack_array_(Rest, Len-1, [Term|Acc]).
  
  pack_map_([], Acc) -> Acc;
  pack_map_([{Key,Value}|Tail], Acc) ->
  
negative.code: 	    [Term|unpack_all(Binary)]
      end.
  
  
  % ===== internal APIs ===== %
  
  