Currently our Validation doesn't have Semigroup and Monoid instances. It would be a great idea to add them. And also write better documentation for the Validation module with use cases 🙂 I also noticed that we have our own implementation of liftA2 but it's inefficient compared to <*> so it's better just to remove it.
instance (Semigroup e, Semigroup a) => Semigroup (Validation e a) where
x <> y = liftA2 (<>) x y
instance (Semigroup e, Monoid a) => Monoid (Validation e a) where
mempty = Success mempty
Currently our
Validationdoesn't haveSemigroupandMonoidinstances. It would be a great idea to add them. And also write better documentation for theValidationmodule with use cases 🙂 I also noticed that we have our own implementation ofliftA2but it's inefficient compared to<*>so it's better just to remove it.