[Haskell-cafe] A question about algebra and dependent typing