public Func <App <Either <e>, a>, App <M, App <Either <e>, b> > > traverse <a, b>(Func <a, App <M, b> > f) => x => ei.either(x, lt => apM.pure(ei.left <b>(lt)), rt => f(rt).lifted(apM, y => y.map(ei.right)));
public Func <App <Collection, a>, App <M, App <Collection, b> > > traverse <a, b>(Func <a, App <M, b> > f) => x => (x, fld).foldl(apM.pure(co.nil <b>()))((acc, aa) => {