Use WrappedCovariant to derive SemiIsoMonad from Monad.