It complicates the rules to satisfy a special case. For consistency,
could always write all such functions as
Would it really? The change wouldn't need to be in the grammar, but a rather simple change in the tokenizer. Everything after a . (if not part of a number) is to be tokenized as identifier and never as language construct. Then it should run through the existing parser without any changes.