Staging and value types for Emacs Lisp