diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
 # Revision history for monad-ideals
 
+## 0.1.1.0 -- 2024-07-30
+
+* List GHC 9.10.* as supported
+
+* Add Foldable and Traversable instances to coproduct `(:+)` and product `(:*)`
+
 ## 0.1.0.0 -- 2024-04-23
 
 * Created based on [category-extras-0.53.5](https://hackage.haskell.org/package/category-extras-0.53.5)
diff --git a/monad-ideals.cabal b/monad-ideals.cabal
--- a/monad-ideals.cabal
+++ b/monad-ideals.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               monad-ideals
-version:            0.1.0.0
+version:            0.1.1.0
 
 synopsis:           Ideal Monads and coproduct of them
 description:
@@ -21,7 +21,7 @@
 build-type:         Simple
 
 extra-doc-files:    CHANGELOG.md, README.md
-tested-with: GHC ==8.10.7, GHC ==9.0.2, GHC ==9.2.8, GHC ==9.4.8, GHC ==9.6.5, GHC ==9.8.2
+tested-with: GHC ==8.10.7, GHC ==9.0.2, GHC ==9.2.8, GHC ==9.4.8, GHC ==9.6.5, GHC ==9.8.2, GHC ==9.10.1
 
 source-repository head
   type:     git
diff --git a/src/Control/Comonad/Coideal.hs b/src/Control/Comonad/Coideal.hs
--- a/src/Control/Comonad/Coideal.hs
+++ b/src/Control/Comonad/Coideal.hs
@@ -31,6 +31,8 @@
 import Control.Comonad
 
 import Control.Functor.Internal.Mutual
+import Data.Bifoldable (bifoldMap)
+import Data.Bitraversable (bitraverse)
 
 newtype Coideal f a = Coideal { runCoideal :: (a, f a) }
   deriving (Functor, Foldable, Traversable)
@@ -63,6 +65,12 @@
     Show (m0 ((,) a (Mutual (,) n0 m0 a))),
     Show (n0 ((,) a (Mutual (,) m0 n0 a)))
   ) => Show ((:*) m0 n0 a)
+
+instance (Foldable m0, Foldable n0) => Foldable (m0 :* n0) where
+  foldMap f = bifoldMap (foldMap f) (foldMap f) . runCoidealProduct
+
+instance (Traversable m0, Traversable n0) => Traversable (m0 :* n0) where
+  traverse f = fmap CoidealProduct . bitraverse (traverse f) (traverse f) . runCoidealProduct
 
 project1 :: (Functor w) => (w :* v) a -> w a
 project1 = fmap fst . runMutual . fst . runCoidealProduct
diff --git a/src/Control/Functor/Internal/Mutual.hs b/src/Control/Functor/Internal/Mutual.hs
--- a/src/Control/Functor/Internal/Mutual.hs
+++ b/src/Control/Functor/Internal/Mutual.hs
@@ -13,6 +13,8 @@
 module Control.Functor.Internal.Mutual where
 
 import Data.Bifunctor
+import Data.Bifoldable
+import Data.Bitraversable
 
 newtype Mutual p m n a = Mutual {runMutual :: m (p a (Mutual p n m a))}
 
@@ -21,6 +23,12 @@
 
 instance (Bifunctor p, Functor m, Functor n) => Functor (Mutual p m n) where
   fmap f = Mutual . fmap (bimap f (fmap f)) . runMutual
+
+instance (Bifoldable p, Foldable m, Foldable n) => Foldable (Mutual p m n) where
+  foldMap f = foldMap (bifoldMap f (foldMap f)) . runMutual
+
+instance (Bitraversable p, Traversable m, Traversable n) => Traversable (Mutual p m n) where
+  traverse f = fmap Mutual . traverse (bitraverse f (traverse f)) . runMutual
 
 foldMutual
   :: Bifunctor p
diff --git a/src/Control/Monad/Coproduct.hs b/src/Control/Monad/Coproduct.hs
--- a/src/Control/Monad/Coproduct.hs
+++ b/src/Control/Monad/Coproduct.hs
@@ -2,6 +2,7 @@
 {-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE StandaloneDeriving #-}
 {-# LANGUAGE UndecidableInstances #-}
+{-# LANGUAGE DeriveTraversable #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Control.Monad.Coproduct
@@ -28,6 +29,8 @@
 import Control.Functor.Internal.Mutual (Mutual(..), foldMutual)
 
 import Data.Bifunctor (Bifunctor(..))
+import Data.Bitraversable (bitraverse)
+import Data.Bifoldable (bifoldMap)
 
 -- * Coproduct of Monads
 
@@ -84,6 +87,12 @@
     Show (m0 (Either a (Mutual Either n0 m0 a))),
     Show (n0 (Either a (Mutual Either m0 n0 a)))
   ) => Show ((:+) m0 n0 a)
+
+instance (Foldable m0, Foldable n0) => Foldable (m0 :+ n0) where
+  foldMap f = bifoldMap (foldMap f) (foldMap f) . runCoproduct
+
+instance (Traversable m0, Traversable n0) => Traversable (m0 :+ n0) where
+  traverse f = fmap Coproduct . bitraverse (traverse f) (traverse f) . runCoproduct
 
 inject1 :: (Functor m0) => m0 a -> (m0 :+ n0) a
 inject1 = Coproduct . Left . Mutual . fmap Left
