Why are xpath shortcuts gone? what are best practices now?

I try to use acc IDs when possible, but sometimes I must find, for example, a button. My framework was written well before 1.0 and yes, I’m just upgrading to 1.0 now, but my question is still relevant to someone starting a framework today.
I’m working on native ios/android apps.

With find_by_class_name now preferred, I am going to have to update calls that used to work cross-platform such as
find_by_xpath(‘button’)

to something like
if (ios):
find_by_class(‘UIAButton’)
else:
find_by_class(‘android.widget.Button’)

Question 1 is what was the motivator for removing the shortcuts? and
Question 2 is what are best practices now? Should I just put a conditional every time I need to find the first button on the page as in the above example, or should I write my own mapping:
button: (‘UIAButton’, ‘android.widget.Button’)
image: …

Thanks for any facts/opinions others want to give…

button
buttons
button_exact
buttons_exact
text
texts
text_exact
texts_exact
find
finds

are cross -platform

I’ve incorporated my own mapping into my framework now including all the element types I know of. I know some people say that shortcuts are not preferred, but if you’re developing, this just leads to more if/else statements. As I said, I try to use Acc IDs if possible, but occasionally I have to tap a button or textfield. Shortcuts can be very useful if used diligently.