anchor.diff:  Procedures are, in effect, abstractions that describe compound operations on numbers independent of the particular numbers.
   
   ****
  -The precise meaning of "being the same" is defined by the property of *"operational equivalence"* 
  +The precise meaning of "being the same" is defined by the property of *"operational equivalence"*
   ****
   
   .Parsers and combinators
  -* A parser is a function that takes a stream of input tokens, and converts them into a format (typically a data structure, 
  +* A parser is a function that takes a stream of input tokens, and converts them into a format (typically a data structure,
   such as a list or a tree) that is more easily consumed by your application.
   * A combinator is simply a higher order function which combines two functions into a new function.
   
  
positive.code: . Every object has an identity arrow that serves as a unit under composition.
  
  === Monads
  A monad is a way to structure computations (like a design pattern) in terms of values and sequences of computations using those values. 
  Monads allow the programmer to build up computations using sequential building blocks, which can themselves be
  sequences of computations. The monad determines how combined computations form a new computation and frees 
  the programmer from having to code the combination manually each time it is required.
  .d
  <a href="https://wiki.haskell.org/All_About_Monads">Haskell Wiki about Monads</a>
  
negative.code: final case class Suspend[F[_], A](s: F[Free[F, A]]) extends Free[F, A]
  ----
  === Monoids
  Monoid is an embarrassingly simple but amazingly powerful concept. It’s the concept behind basic
  arithmetics: Both addition and multiplication form a monoid. Monoids are ubiquitous in programming.
  They show up as strings, lists, foldable data structures, futures in concurrent programming, events
  in functional reactive programming, and so on.footnote:[http://bartoszmilewski.com/2014/12/05/categories-great-and-small/]
  
  Are a type with a flatmap and a function taht returns itself
  
  === Functors
  
  Are a type with a map
  
  === Monad transformers
  
  === Applicative functors
  
  ==== Referential transparency
  