either >= 3.1 and elim unnecessary MonadState instance for EStT