inline SPROUT_CONSTEXPR std::size_t to_hash(T&& v) { using sprout::hash_value; using sprout_adl::hash_value; return hash_value(sprout::forward<T>(v)); }
inline SPROUT_CONSTEXPR std::size_t to_hash(T&& v) { using sprout::hash_value; using sprout_adl::hash_value; return hash_value(SPROUT_FORWARD(T, v)); }
inline SPROUT_CONSTEXPR std::size_t call_hash_value(T const& v) { using sprout::hash_value; using sprout_adl::hash_value; return hash_value(v); }