1. 10
  1.  

  2. 4

    Under the dispatching section the author talks really briefly about branching based on the type of the first argument. There’s a really good section on this in HaskellWiki about using existential types to create something like the visitor pattern: http://www.haskell.org/haskellwiki/Existential_type#Dynamic_dispatch_mechanism_of_OOP