[Haskell-cafe] working through "Part I: Dependent Types in Haskell"