fold<TR> method
Implementation
Future<TR> fold<TR>(TR Function(Iterable<Fail> failures) invalid,
TR Function(T val) valid)
{
return then(
(value) =>
value.fold(
(failures) => invalid(failures),
(val) => valid(val)));
}