[Haskell-cafe] Help defining a Typeable polymorphic-state monad transformer