`>>>` is lexed as `>> >`. But what happens if the first `>` closes a template argument list, should the result be equivalent to `> > >` or `> >>`?

It does matter in the following code:

```
template<class T> struct X { };

void operator >>(const X<int>&, int) { }

int main() {
    *new X<int>>> 1;
}

```