v0.4.1
Add predicate pattern (pred) for user-defined callable matching
auto is_even = pred([](int x){ return x % 2 == 0; });
auto is_pos = pred([](int x){ return x > 0; });
auto out = match(5)
.when(is_even && is_pos >> []{ return "even positive"; })
.when(!is_even >> []{ return "odd"; })
.otherwise([]{ return "other"; });
std::cout << out; // "odd"