Add loads of generics