The Windows Runtime (WinRT) introduces a TypedEventHandler delegate, which does exactly what your StrongTypedEventHandler does, but apparently without the constraint on the TResult type parameter:
public delegate void TypedEventHandler(TSender sender,
TResult args);
The MSDN documentation is here.