Using boost::type_index