Disclosure: I\'m a scala programmer learning Haskell with "Haskell Programming from First Principles" to give more coherence to the functional con