Point taken about delegate. Good design too BTW.

I still don't see the point of the bool versions though, won't commonType naturally resolve to bool (or void) anyways? Also, the code (as is) won't correctly handle `T1 = bool` and `T2 = void` (or vice versa). As for the ` ? true : false`: CommonType garantees implicit conversion, so that's not needed either...