Why don't jq have consistent args order in ajax done() and fail()?

Why don't jq have consistent args order in ajax done() and fail()?

The arguments order in ajax callbacks a re inconsistent .
It is not stable in always() callback.

jqXHR.done(function(data, textStatus, jqXHR) {});
jqXHR.fail(function(jqXHR, textStatus, errorThrown) {});
jqXHR.always(function(data|jqXHR, textStatus, jqXHR|errorThrown) { });

I think it will be better to change the fail arguments order to ( errorThrown , textStatus,  jqXHR ).