I don't see how that logic differs from using `=` as an assignment operator.
"Assign X with value equal to 5"
"Assign X with value equal to 5"
Admittedly this kind of goes out the window with a lot of tidyverse non-standard eval stuff. E.g. if you do `df %>% mutate(x = 5)`, then x does get set to 5 in the data frame, so that is logically an assignment of x in a visible scope using '='. Going by my logic, functions like mutate should ideally use a different symbol for operations that alter the input like this, but we run up against syntactic limitations of the language.
Personally, it seems to me that = for assignment is so ubiquitous that this argument has become stale.
I still use the arrow because it's the prevailing recommendation in R style guides.