;; Clojure
(defn add
([] 0)
([x] x)
([x y] (+ x y))
([x y z & rest] (apply + x y z rest)))
;; Enhanced S-Expression Scheme:
(define-proc add
([] 0)
([x] x)
([x y] (+ x y))
([x y z & rest] (apply + x y z rest)))
;; Clojure
(defn add
([] 0)
([x] x)
([x y] (+ x y))
([x y z & rest] (apply + x y z rest)))
;; Enhanced S-Expression Scheme:
(define-proc add
([] 0)
([x] x)
([x y] (+ x y))
([x y z & rest] (apply + x y z rest)))