This is such a rarely used feature that I wonder if it would be helpful to have a CSP or preflight header that restricts the browser from sending multiple values for the same parameter.
If you changed it now you would break a whole lot of stuff.
I use it extensively in my own Datasette application, eg here: https://datasette.io/content/plugins?_facet=owner&_facet=is_...
If I had to guess what they did was:
user = User.find_by(email: params[:emails])
params[:emails].each { |email| send_recovery_email(user, email) }
Instead of: user = User.find_by(email: params[:emails])
send_recovery_email(user, user.email) if userEdit: Someone has digged it out: https://news.ycombinator.com/item?id=39162126