anchor.diff:  % erl> c(msgpack).
   % erl> S = <some term>.
   % erl> {S, <<>>} = msgpack:unpack( msgpack:pack(S) ).
  --type reason() ::  badarg | short.
  +-type reason() :: {badarg,term()} | incomplete.
   -type msgpack_term() :: [msgpack_term()]
   		      | {[{msgpack_term(),msgpack_term()}]}
   		      | integer() | float() | binary().
  
positive.code:     {Term, <<>>}=msgpack:unpack(OrigBin);
  test_p(I,_,OrigBin,Len) when I < Len->
      <<Bin:I/binary, _/binary>> = OrigBin,
      ?assertEqual({error,short}, msgpack:unpack(Bin)).
  
  partial_test()-> % error handling test.
      Term = lists:seq(0, 45),
  
negative.code: 	error:Error when is_tuple(Error), element(1, Error) =:= error ->
  	    Error;
  	throw:Exception ->
  	    {error, Exception}
      end.
  
  