anchor.diff:  ;; => #<Nothing >
   ----
   
  -Moreover, the applicative functor protocol comes with another function: `pure`. The main purpose of 
  +Moreover, the applicative functor protocol comes with another function: `pure`. The main purpose of
   this function is, given any value in a context and new value, wrap the new value in a minimal context of the same
   type as the first argument.
   
  
positive.code: This is a very basic example of the state monad, it has a lot of use cases and explaining all them
  seems out of the scope of this document.
  
  However, if you have better examples to explain the state monad, documentation for another monad or 
  any other contribution is always welcome.
  
  License
  
negative.code: ;; => #<Just [2]>
  ----
  
  The `return` or `pure` functions, when called with one argument, try to use the dynamic scope context value
  that's set internaly by the `bind` function. Therefore you can't use them with one argument out of a `bind` context.
  
  And finally, to make more powerful monadic compositions, _cats_ comes with the `mlet` macro that
  if you are coming from haskell, represents a `do-syntax`:
  