<div dir="auto"><div dir="auto"></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">---------- Forwarded message ---------<br>보낸사람: <strong class="gmail_sendername" dir="auto">Dannyu NDos</strong> <span dir="auto"><<a href="mailto:ndospark320@gmail.com" target="_blank" rel="noreferrer">ndospark320@gmail.com</a>></span><br>Date: 2019년 8월 7일 (수) 04:50<br>Subject: Re: Add instance Monoid ((f :+: g) a)<br>To: Haskell Libraries <<a href="mailto:libraries@haskell.org" target="_blank" rel="noreferrer">libraries@haskell.org</a>><br></div><br><br><div dir="auto"><div dir="auto">Ah, sorry. (:+:) is not an Applicative. It's still possible to make instance Monoid:<div dir="auto"><br></div><div dir="auto">instance Semigroup (f a) => Semigroup ((f :+: g) a) where</div><div dir="auto"><div dir="auto">    InL x <> InL y = InL (x <> y)</div><div dir="auto">    InL _ <> y = y</div><div dir="auto">    x <> _ = x</div><div dir="auto"><br></div><div dir="auto">instance Monoid (f a) => Monoid ((f :+: g) a) where</div><div dir="auto">    mempty = InL mempty</div></div></div></div>
</div></div>