template struct Trait; template struct Trait<_Iterator, void> {}; template requires true && true struct Trait<_Iterator, void> { template struct __cat {}; template requires true struct __cat<_Iter> {}; }; template requires true struct Trait<_Iterator, void> { template struct __diff {}; template requires true struct __diff<_Iter> {}; };