@@ -17,7 +17,7 @@ module Prelude
1717 , Functor, (<$>), (<#>), void
1818 , Apply, (<*>)
1919 , Applicative, pure, liftA1
20− , Bind, (>>=)
20+ , Bind, bind, (>>=)
2121 , Monad, return, liftM1, ap
2222 , Semigroup, (<>), (++)
2323 , Semiring, (+), zero, (*), one
@@ -127,12 +127,15 @@ module Prelude
127127 liftA1 f a = pure f <*> a
128128
129129 infixl 1 >>=
130+
131+ (>>=) :: forall m a b. (Bind m) => m a -> (a -> m b) -> m b
132+ (>>=) = bind
130133
131134 class (Apply m) <= Bind m where
132− (>>=) :: forall a b. m a -> (a -> m b) -> m b
135+ bind :: forall a b. m a -> (a -> m b) -> m b
133136
134137 instance bindArr :: Bind ((->) r) where
135− (>>=) m f x = f (m x) x
138+ bind m f x = f (m x) x
136139
137140 class (Applicative m, Bind m) <= Monad m
138141
@@ -585,7 +588,7 @@ module Control.Monad.Eff
585588 pure = returnE
586589
587590 instance bindEff :: Bind (Eff e) where
588− (>>=) = bindE
591+ bind = bindE
589592
590593 instance monadEff :: Monad (Eff e)
591594