Most of my optimization is for readability and useability. For example, I sometimes nest (defun ...) calls where I would have multiple calls to a procedure but only in one function which gets called infrequently. I can keep the name short and on point without having to worry about it being overridden by another local function, while avoiding unnecessarily copied code.