Lambda expressions

(defn check-and-process [number process]
  (when (< number 10)
    (process number)))

;; the lambda is called for its side effect only
(def process (fn [n] (println (* n 10))))
(def result (check-and-process 5 process))
;; printed 50

;; there is no void type: such a call still returns a value, and it is nil
(println "result is" result)