Simple version of an accumulating Validation type.
Kleisli and Applicative support
add pure to MonadSyntax