public NonEmptyListTC <TReturn> ApplyRight <TReturn>(NonEmptyListTC <TReturn> other) { return(other); }
public NonEmptyListTC <TReturn> ComputeWith <TReturn>(Func <T, NonEmptyListTC <TReturn> > f) { return(NonEmptyListTC.Construct(this.SelectMany(v => f(v)))); }
public NonEmptyListTC <T> ApplyLeft <TReturn>(NonEmptyListTC <TReturn> other) { return(this); }
public NonEmptyListTC <TReturn> Apply <TReturn>(NonEmptyListTC <Func <T, TReturn> > f) { return(NonEmptyListTC.Construct(f.SelectMany(fElem => this.FMap(fElem)))); }
public override NonEmptyListTC <TReturn> FMap <TReturn>(Func <T, TReturn> f) { return(NonEmptyListTC.Singleton(f(this.Value))); }
public override NonEmptyListTC <TReturn> FMap <TReturn>(Func <T, TReturn> f) { return(NonEmptyListTC.ConsNEL(f(this.Head), this.Tail.FMap(f))); }
public ConsNELTC(T head, NonEmptyListTC <T> tail) { this.Head = head; this.Tail = tail; }