B:BD[
2.1827] → [
2.1827:2588]
std::cout << check(
std::make_tuple(Term<&Foo::value, isEven>{}, Foo{"foo", 0}),
std::make_tuple(Term<&Foo::value, isOdd >{}, Foo{"foo", 1}),
std::make_tuple(Term<&Foo::value, isEven>{}, Foo{"foo", 2}),
std::make_tuple(Term<&Foo::value, isOdd >{}, Foo{"foo", 3}),
std::make_tuple(Term<&Foo::value, isEven>{}, Foo{"foo", 4}),
std::make_tuple(Term<&Foo::value, isOdd >{}, Foo{"foo", 5}),
std::make_tuple(Term<&Foo::value, isEven>{}, Foo{"foo", 6}),
std::make_tuple(Term<&Foo::value, isOdd >{}, Foo{"foo", 7}),
std::make_tuple(Term<&Foo::value, isEven>{}, Foo{"foo", 8}),
std::make_tuple(Term<&Foo::value, isOdd >{}, Foo{"foo", 9}),
std::make_tuple(Term<&Foo::value, isEven>{}, Foo{"foo", 10})
) << '\n';