T3621.hs:21:21: Couldn't match type `s' with `state' `s' is an unknown type variable `state' is an unknown type variable When using functional dependencies to combine MonadState s (State s), arising from the dependency `m -> s' in the instance declaration at T3621.hs:18:10 MonadState state (State s), arising from the 'deriving' clause of a data type declaration at T3621.hs:21:21-36 When deriving the instance for (MonadState state (WrappedState s))