https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121981
--- Comment #12 from Patrick Palka <ppalka at gcc dot gnu.org> --- N.B. __is_same/__is_convertible weren't strictly necessary, they're just a way for the concept's template parameters to be considered used (which can be done in a more trivial way via e.g. 'requires { typename T; }').