anchor.diff:  
   % raw bytes
   pack_raw(Bin) when is_binary(Bin)->
  -    MaxLen = 16#10000, % 65536
       case byte_size(Bin) of
   	Len when Len < 6->
   	    << 2#101:3, Len:5, Bin/binary >>;
  -	Len when Len < MaxLen ->
  +	Len when Len < 16#10000 -> % 65536
   	    << 16#DA:8, Len:16/big-unsigned-integer-unit:1, Bin/binary >>;
   	Len ->
   	    << 16#DB:8, Len:32/big-unsigned-integer-unit:1, Bin/binary >>
  
positive.code: unpack_array_(Bin, RestLen, RetList) when is_binary(Bin)->
      case unpack(Bin) of
  	{more, Len} -> {more, Len+RestLen-1};
  	{Term, Rest}->
  	    unpack_array_(Rest, RestLen-1, [Term|RetList])
      end.
  
  % FIXME: write test for pack_map/1
  pack_map(M)->
      MaxLen = 16#10000, %65536
      case dict:size(M) of
  	Len when Len < 16 ->
   	    << 2#1001:4, Len:4/integer-unit:1, (pack_map_(dict:to_list(M))) >>;
  	Len when Len < MaxLen ->
  	    << 16#DE:8, Len:16/big-unsigned-integer-unit:1, (pack_map_(dict:to_list(M)))/binary >>;
  	Len ->
  	    << 16#DF:8, Len:32/big-unsigned-integer-unit:1, (pack_map_(dict:to_list(M)))/binary >>
  
negative.code:     compare_all(LTL, RTL).
  
  test_data()->
      [true, false, nil, 
       0, 1, 2, 123, 512, 1230, 678908, 16#FFFFFFFFFF,
       -1, -23, -512, -1230, -567898, -16#FFFFFFFFFF,
       123.123, -234.4355, 1.0e-34, 1.0e64,
       [23, 234, 0.23],
       <<"hogehoge">>, <<"243546rf7g68h798j", 0, 23, 255>>,
       <<"hoasfdafdas][">>,
       [0,42, <<"sum">>, [1,2]], [1,42, nil, [3]],
       42
      ].
  
  basic_test()->
  