Emacs tip: add lexical-binding: t to your elisp files. This makes closures easier to reason about and lets the byte compiler find more bugs.