   "a logger that prints to standard output"
   (print-logger *out*))
 
-(fact (*out*-logger "hello")
+(fact
+  (*out*-logger "hello")
   ; hello
   => nil)
 

i  and type of collection. Map aways returns a sequence.
- We would have to worry about the imperative flow of control.

Reduce  applies a function to a collection producing a single value
"
(fact (reduce max [0 -3 10 48])
  => 48)
"similar to:"
(fact (max (max (max 0 -3) 10) 48)
  => 48)

(fact "initial seed value"
  (reduce + 50 [1 2 3 4])

"
(require 'clojure.string)

(facts "clojures versions are easy to call as  objectless functions"
  (fact
    (max 5 6)
    => 6)
