Resolving syntax inconsistency between .animate() and .fadeTo()

Resolving syntax inconsistency between .animate() and .fadeTo()

Not only does the name .fadeTo() logically suggest that the first parameter should be the opacity value to fade to (it's actually the second parameter, the duration comes first), it's also inconsistent with .animate() which takes the form .animate({properties}, duration) that one would naturally expect.

Ideally I'd like to see the .fadeTo() function/effect (and any others which are similarly counter-intuitive with regard to parameter order) revised so that the parameter order becomes as one would intuitively expect. However I realise that (primarily for reasons of backwards compatibility) this may not be viable... what do others think?

And can we at least agree that any future/new functions named in a similar way - e.g. .rotateTo() - should have their first parameter as the expected main target value(s) followed by any others - e.g. .rotateTo({xDeg,yDeg,zDeg},{xOrigin,yOrigin,zOrigin},duration,etc)

Alternatively, since they are really just lazy shortcuts to a slightly longer call to .animate() can we do away with .fadeTo(), .rotateTo(), etc altogether? Or is it heresy to suggest doing so?