Several fixes:

* When asserting that T1 and T2 have a common type, use typeof(return)
  instead of recomputing the common type.
* Added that assertion to the lazy version(is was missing from there).
* Style fixe: changed CommonType!(T1,T2) to CommonType!(T1, T2) (added
  the space)