As I learn Haskell, I can\'t help but try to understand everything from a formal point of view. After all this is the theoretical coherence i came to look for as a Scala Pro