anchor.diff:  git clone https://github.com/niwibe/cats
   ----
   
  -Abstractions
  -------------
  +User Guide
  +----------
   
   This section introduces almost all category theory abstractios that cats library
   supports.
  
positive.code: (map inc [1 2 3])
  ;; => (2 3 4)
  ----
  
  
  Applicative Functor
  
negative.code: ;; => #<Nothing >
  ----
  
  Oh, awesome, instead of raising null pointer exception, it just return *nothing*.
  
  
  An other good advantage of use functor abstraction, is that it always return result
  in the same type of second argument
  
  Let see one example of apply fmap over clojure vector:
  
  [source, clojure]
  ----
  