On 2019-08-02 5:38 p.m., Benjamin Franksen wrote:
But I could not find the
instance Monoid a => Monad ((,) a)
documented anywhere in the base package.
If you look at the list of instances under
the definition of Monad
,
you’ll see Monoid a => Monad ((,) a)
| Since: 4.9.0.0 in the list. Clicking on the # Source
link takes you to the source of GHC.Base
:
instance Monoid a => Monad ((,) a) where
(u, a) >>= k = case k a of (v, b) -> (u <> v, b)