All I know is that in Python, JS and Clojure is I’ve accidentally written code like:
def foo(str):
v = str(1)
. . .
Which resulted in head-scratching errors like “str is not a function”.EDIT: I agree that hygienic macros aren't the right way to solve this issue.