The bash manual says for alias,
There is no mechanism for using arguments in the replacement text, as in csh. If arguments are needed, a shell function should be used (see Section 3.3 [Shell Functions], page 17).
What do the two sentences mean?
"using arguments in the replacement text" doesn't seem to mean the following, which succeeds
$ alias foo="echo bac" $ foo bac $ foo hello bac hello