What set of primitives would absolutely need to be supported for a sort of "proto-Lisp", which could be used as an implementation language for a more full-featured Lisp (for example, Scheme)? I remember something about there being seven primitives...