paste interface tested
support std::tr1::unordered_map by hand in packer.hpp