This would mean doing it here and everywhere else, but I quite like @param <T> docs when it's not obvious what the generified types are (and it's far from obvious here).