concept checks are now Boolean metafunctions instead of constexpr Boolean functions, thanks to Paul Fultz for the idea