The size of ob.el is quite manageable (between the size of org-list.el and that of org-table.el) and I think ob-eval.el and friends really belongs to the core Babel library. As for handling "large" files, I use this: #+BEGIN_SRC emacs-lisp (defun org-cycle-global () (interactive) (org-cycle t)) (defun org-cycle-local () (interactive) (save-excursion (move-beginning-of-line nil) (org-cycle))) (global-set-key (kbd "C-M-]") 'org-cycle-global) (global-set-key (kbd "M-]") 'org-cycle-local) #+END_SRC I made a video to demonstrate it quickly: https://vimeo.com/55570133 This helps me survive in files like org.el and org-agenda.el :) On the overall, I really think this is an improvement. Unless you find a bug in the dependencies and/or find a bug in the way dependancies are handled, I'm in favor of committing it (modulo some work that needs to be done to reorder/clean the section a bit.) Let me know,