public Validn <C> ZipWith <B, C>(Validn <B> vb, Func <A, B, C> f) => Cata (ea => vb.Cata (eb => Validn <C> .Failure(ea.AddRange(eb)) , _ => Validn <C> .Failure(ea) ) , a => vb.Cata (Validn <C> .Failure , b => Validn <C> .Success(f(a, b)) ) );
public Validn <B> Map <B>(Func <A, B> f) => Cata(Validn <B> .Failure, a => Validn <B> .Success(f(a)));