Hi Seth, Thanks for the thoughtful comments. I especially like the method of literate programming described in your second proposal. Over the last months I have switched from working mainly in code blocks to working mainly in pure source files due to issues along the lines of those mentioned in your first proposal. It seems to me that working in two frames as you suggest -- e.g. writing code in the pure code buffer, documentation in the Org-mode buffer, and maintaining a constant mapping between the two -- would resolve the issues mentioned in your first, and should be sufficient. With some elisp code it should be possible to support no-web in such a scheme allowing the code buffer to be automatically re-organized based on changes to the .org buffer. A crude version of the above is already possible using the `org-babel-detangle' function. For example, follow the instructions in the attached org-mode file (which uses elisp rather than clojure code blocks simply for wider portability to non-clojure users). Ultimately I think that more code support (possibly implemented using a minor mode) allowing things like easy navigation, interactive tangling/arrangement, noweb support, and (possibly) removing the need for comment markers would be the preferred solution. Cheers -- Eric