MonadsSemigroups経由で定義
instance Monad m => Semigroup (m a) where
(<>) = (>>)
FlexibleInstancesを使用します。
Maybe aそのようにしたい場合はSemigroup、Intanceオーバーラップに遭遇Data.Semigroupします。
instance Semigroup a => Semigroup (Maybe a)
Haskell-そのようなことを解決する方法は何ですか?