Hello, I don't really see the point of it as you self said this wouldn't add a runtime check, so in what is it different to a comment? More so reusing ! for this will, in my opinion, just lead to confusion as people will think it negates the function, this is what I would expect it to do at first glance. Also comparing it to the nullable question mark is quite bizarre I find, why not choose the ampersand for references instead? At least it would cover the same "scope", as types have nothing to do with how a function behaves.
Best regards George P. Banyard