Is there an advantage to defining a function like (defun hi () \"Hi!\") and be able to call it by using (hi) or (HI) or (Hi)
(As others have pointed out, it is actually case-sensitive, but standard reader behaviour is to upcase everything.)
As to the advantages:
Hashtable and HashTable to be naming different things?name and a function name with no ambiguity. Name can even be the name of a variable, on top of that.