The type system is fun right up until you are using it to its full ability in generics..then you look at the 5 lines of 'type logic' you spent the last day debugging and ask yourself how you got here.
<<<<<<<<T>>>>>>>>
Is basically a guaranteed headache