static Monads.Function.OnDemand <R> ApplyFunction <A, R>( Monads.Function.OnDemand <A> onDemand, Func <A, R> function) { return(() => { A unwrapped = onDemand(); R result = function(unwrapped); return result; }); }
public static Monads.Function.OnDemand <R> ApplySpecialFunction <A, R>( Monads.Function.OnDemand <A> onDemand, Func <A, Monads.Function.OnDemand <R> > function) { return(() => { A unwrapped = onDemand(); Monads.Function.OnDemand <R> result = function(unwrapped); return result(); }); }