The -l switch restricts the alias to local so it can not be called
for instance from the command line or a different script file.
Mostly unnecessary.
Yup, the $iif() is an inline if/else condition statement.
"do extras on the end of alias's" ??? ..do you mean pass arguments?
Well, yup the cookie($1 give) passes those two items as $1 and $2
(I kept $1 first on purpose if I had said cookie(give $1) then it
could have worked just the same as long as I changed it around in
the alias to match which can get confusing.)