Effective Haskell: Solving Real-World Problems with Stron… | UA Books