[Haskell-cafe] Dependently typed fold in GHC/Haskell