[Haskell-cafe] dependent types