Actually, it’s a CS bug. It is SUPPOSED to be the case that ! would terminate a sentence, just like . . But it wasn’t marked internally properly. What you should be seeing is two sentences. The first is:
Great
The second is:
I like it
In both cases, the terminal punctuation is swallowed into the tokenflags, and then you could match the exclamation by
u: (great \!)
where the location of \! doesnt matter, because its actually a flag, not a positional token. Next CS this weekend will fix this.
Now there remains an issue if you set tokencontrol to prevent ! being a terminator. Then you have no way to match it. I will figure that out too.