With the Monoid 'First' and 'Last' newtypes going away, it would be nice to have equivalent Functor and Applicative instances.<br><br>This works if Compose uses its components' instances:<br><br>instance Semigroup (m (n a)) ⇒ Semigroup (Compose m n a) where<br>  Compose mnx <> Compose mny = Compose (mnx <> mny)<br><br>instance Monoid (m (n a)) ⇒ Monoid (Compose m n a) where<br>  mempty = Compose mempty<br><br>–Keith<br>-- <br>Sent from my Android device with K-9 Mail. Please excuse my brevity.