Exploration of Anamorphisms, Catamorphisms and Hylomorphisms in Clojure and Haskell