<div>I&#39;d like to propose adding the following missing instances to Data.Foldable and Data.Traversable respectively, since there isn&#39;t a canonical location that they could be added outside of those packages without orphans, their definition is unambiguous, and they are quite useful (plus, I happen to need them for a monad transformer in my adjunctions package).</div>
<div><br></div><div>instance Foldable (Either a) where</div><div>  foldMap f (Left a) = mempty</div><div>  foldMap f (Right b) = f b</div><div><br></div><div>instance Foldable ((,)e) where</div><div>  foldMap f ea = f (snd ea)</div>
<div><br></div><div>instance Traversable (Either a) where</div><div>  traverse f (Left a) = pure (Left a)</div><div>  traverse f (Right a) = Right &lt;$&gt; f a</div><div><br></div><div>instance Traversable ((,)e) where</div>
<div>  traverse f ~(e,a) = (,) e &lt;$&gt; f a</div><div><br></div><div>Discussion period: 2 weeks</div><div><br></div><div>-Edward Kmett</div>