implement variant_hasher using std::hash<T>
use ::util::apply_visitor
don't think we need this one