Effective Haskell:Ch 7 - Typos

(This feedback is based on version B3.)

Overall, this is a well-written chapter. I liked it a lot.

Minor typos:

page 207 (lower half): “…to help you develop and intuition…” → “…an intuition…”
page 208 (second paragraph): “A value of type IO a value represents…” → “A value of type IO a represents…” (drop the second ‘value’)
page 208 (lower half): “…but at that time we didn’t take the time to look…” → awkward sentence; change to “…but at that time we didn’t look…”
page 208 (lower half): “…we’ll allow a impurity…” → “…an imurity…”
page 213 (first para): “…by virtual of being…” → “…by virtue of…”
page 219 (last line of the code listing in the center of the page): “1” (missing double quote?)

page 222 - please elaborate on why raiseMathError does not generate a divide-by-zero exception, i.e., why is that part unevaluated? It’s a good example, but it’s not entirely clear to me why the putStrLn is evaluated, but the div is not. A few more words here would help!

thank you