[Haskell-cafe] DFAs and self-referential data