I am pleased to announce that Issue 22 of The Monad Reader is now available.

Issue 22 consists of the following three articles:

*Generalized Algebraic Data Types in Haskell*by Anton Dergunov*Error Reporting Parsers: a Monad Transformer Approach*by Matt Fenwick and Jay Vyas*Two Monoids for Approximating NP-Complete Problems*by Mike Izbicki

Feel free to browse the source files. You can check out the entire repository using Git:

`git clone https://github.com/ezyang/tmr-issue22.git`

If you’d like to write something for Issue 23, please get in touch!

**Errata.** Unfortunately there were several mistakes in the “Generalized Algebraic Data Types in Haskell” tutorial article which were recently fixed (many thanks to Shachaf Ben-Kiki and vituscze for pointing them out):

1. On page 9 of the article “error” function was used in “evaluate”

function, but in this context “fail” is cleaner.

2. On page 22 there was a typo: shortest paths are those “containing only *red* nodes”.

3. On page 24 we presented two alternative ways to define “Tree” data type: via GADTs and existential types. The latter definition contained an error. Correct definition is:

data Tree a = forall bh. Root (Node a bh)