improve generic type parameter
improve generic type parameter