;; add expects 2 arguments. Its arity is 2.
(defn add [x y] (+ x y))

(println (add 2 2))

;; + itself is a function, and it can have any number of arguments.
(+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16) ;; and so on...

;; foo has variable arity.
(defn foo
  ([]                               ; if this function gets no arguments...
    (println "Lisa needs braces!")) ; do this.
  ([arg1]                           ; if this function gets 1 argument...
    (println "Dental plan!")))      ; do this instead!

(println (foo))

(println (foo "this is a placeholder argument."))