Why the type parameter here?