public FuncyListTC <TReturn> Apply <TReturn>(FuncyListTC <Func <T, TReturn> > f) { if (f.IsCons) { return(FuncyListTC.Construct(f.SelectMany(fCons => this.FMap(fCons)).ToArray())); } else { return(FuncyListTC.Nil <TReturn>()); } }
public override FuncyListTC <TReturn> ComputeWith <TReturn>(Func <T, FuncyListTC <TReturn> > f) { return(FuncyListTC.Construct(this.SelectMany(h => f(h)).ToArray())); }