[racket] Variable naming conventions
Pronounce the "/" as "with", and it usually makes sense.  Sometimes it's 
for a variation of a behavior, or composition of behaviors, sometimes 
it's just as shorthand for the word "with", and sometimes it's something 
else.  You might use "/" a little less often, now that you have keyword 
arguments -- both for the names, and for optionality.
I think that asterisks often mean simply "variation on a theme", not 
necessarily "recursive".
You've identified most of the most popular conventions.
I am trying to introduce one new convention, but I might still be the 
only person doing it: pattern variables in syntax transformers are in 
all uppercase.  Every time I see someone using all-uppercase for 
``constants'' in Racket[*], I vow to become rich and powerful, so that I 
can quietly destroy those people from a distance.
[*] All-uppercase-and-underscores is something kinda dumb Java did to 
make it look like K&R C, even though that convention came from when 
``constants'' were uppercase in C because they were problematic 
preprocessor symbols.
-- 
http://www.neilvandyke.org/