Master Haskell's type system, laziness, monads, and concurrency through hands-on functional programming you can ship.