This discussion and this issue might be related, but they are about completely unused type parameters, whereas your type parameters are all attached to the args.
However I’d say it’s good practice to boil these annotations down to the absolute minimum you need for dispatch.