module Grisette.Qualified.ParallelUnionDo where
import Control.Parallel.Strategies
import Grisette.Core.Control.Monad.Class.MonadParallelUnion
import Grisette.Core.Data.Class.Mergeable
(>>=) :: (MonadParallelUnion m, Mergeable b, NFData b) => m a -> (a -> m b) -> m b
>>= :: forall (m :: * -> *) b a.
(MonadParallelUnion m, Mergeable b, NFData b) =>
m a -> (a -> m b) -> m b
(>>=) = forall (m :: * -> *) b a.
(MonadParallelUnion m, Mergeable b, NFData b) =>
m a -> (a -> m b) -> m b
parBindUnion
(>>) :: (MonadParallelUnion m, Mergeable b, NFData b) => m a -> m b -> m b
>> :: forall (m :: * -> *) b a.
(MonadParallelUnion m, Mergeable b, NFData b) =>
m a -> m b -> m b
(>>) m a
a m b
b = forall (m :: * -> *) b a.
(MonadParallelUnion m, Mergeable b, NFData b) =>
m a -> (a -> m b) -> m b
parBindUnion m a
a forall a b. (a -> b) -> a -> b
$ forall a b. a -> b -> a
const m b
b