S.all returning a list of errors is nice until it isn't.
Most of the time I just want the first error, or any error.
I think it'd be nice to offer a function that returns all the failures, and a function that returns just the first one.
Need to think about naming a bit.