>>gms+(OP)
I'm no lisp hacker, so that part stood out to me as particularly hard to understand in comparison to the rest of the code which was perfectly clear to me. I had to re-read it a number of times to figure out what it meant; obviously, if I was at all familiar with lisp I would have had no trouble with it.