| 73 | |
| 74 | template <typename Function> |
| 75 | constexpr auto range(Function f) { |
| 76 | // We must convert to hana::tuple first because hana::set is not a Functor |
| 77 | return hana::to_set(hana::transform(hana::to_tuple(domain(f)), f)); |
| 78 | } |
| 79 | |
| 80 | template <typename P, typename Q> |
| 81 | constexpr auto implies(P p, Q q) { |