As usual, it depends on the expectations. As a practical introduction to optics, their types, the plethora of operators, and so on, and overcoming the usual lens-aversion one might get looking at Control.Lens.Operators, it's a good book. As something describing the theoretical foundations (what's van Laarhoven encoding, how it works with the simplest lenses, why do optics compose and require the constraints that they do, or one might expect at least to work out the usual substitutions with the Identity and Const functors), it's lacking. But that wasn't in the scope of this book anyway, I guess.