Unless you really are requiring that TEventArgs must be either EventArgs or something derived from EventArgs. (Maybe you are?)
I am.
You may be able to do this:
alias Event!() Event;
But I don't know if that would result in a naming conflict.
It does.
