(Okay, that last one was excessive, but I thought it was funny. I'm just glad anyone likes things I write. :P)
P.S.: Gah! I hadn't realized rand-elt would break on empty sequences before. Good catch. Should probably use (unless (empty ...) ...), in case you want a random string character.