MIT licensed by Michael Walker
Maintained by [email protected]
This version can be pinned in stack with:both-0.1.1.2@sha256:c1bc37da305a993af57eef0fc244e340a1ece363dd5be541c521a226bef92d44,1654

Module documentation for 0.1.1.2

Depends on 3 packages(full list with versions):

The Monoid instance for Maybe behaves like so:

instance Monoid a => Monoid (Maybe a) where
  mappend (Just x) (Just y) = Just $ x <> y
  mappend (Just x) Nothing  = Just x
  mappend Nothing  (Just y) = Just y
  mappend Nothing  Nothing  = Nothing

  mempty = Nothing

Both is a newtype wrapper around Maybe providing this instance:

instance Monoid a => Monoid (Both a) where
  mappend (Just x) (Just y) = Just $ x <> y
  mappend _ _ = Nothing

  mempty = Just mempty