Might be wrong, but if the attribute exists then it's just a statement what type of attribute you are trying to access, otherwise it has to guess what type of attribute is and it seems that it's not very good at it
It's not a bad practice to state the type of the attribute every time you want to work with it.