These instance would be really useful! ```haskell instance Semigroup r => Semigroup (Segment r) where (<>) = liftA2 (<>) instance Monoid r => Monoid (Segment r) where mempty = pure mempty mappend = liftA2 mappend ```