Nested DEFUNs is not the best idea...
My guess: the nested defun is not only defined in the enclosing defun scope as it may seem, but in the whole current package.
http://www.lispworks.com/documentation/HyperSpec/Body/m_defu... "Defines a new function named function-name in the global environment"
Is it only a bad idea because it's bad style or is there more to it?