better consistency in usage of generics