 "
 (require 'clojure.string)
 
-(facts "clojures versions are easy to call separate fucntions"
+(facts "clojures versions are easy to call separate functions"
   (fact
     (max 5 6)
     => 6)

"
Values:
 Most programming language incourage the use of mutable state. Functional lanugages
including Clojure incourage the use of immutable values.

Since clojure values are immutable:
"

  => '(5 12 21 32))

"
Differences between map and 'toLowercase':
- 'toLowercase' mutated it's argument.
- if 'toLowercase' returned a new collection, we would have to handle memory allocation
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
