Дискуссия навела на мысль, с чем бы сравнить clojure и lisp... И вот, мне кажется, напрямую скорее всего сравнимо с ассемблером, ну или макроассемблером. Есть данные (просто кусок памяти, ячейки, списки, мапы) и инструкции (функции). Далее, чтобы было удобнее работать с данными, нужны рекорды (не всегда нужны), кейворды. Ну а инструкции-функции - они расширяемые мультиарити и методами.
Ах, ну да, еще есть внутренняя кухня JVM или JS, куда можно залезть в потрошка...