Lots of generics programming testing