Optional types and futures are both important and useful examples of monads—in the “container” and “action” interpretations, respectively; and derivatives are the method of constructing zippers, which are an accessible example of comonads, as well as a useful method of constructing other things like parsers, so these are actually pretty solid concepts for a functional programmer—whether in Haskell or otherwise. I would totally buy that book. :)