[Haskell-cafe] second order types