public static IO <R> Apply <A, R>(this IO <Func <A, R> > fn, IO <A> @this) => @this.Apply(fn);
public void Apply() { Func <int, string> func = value => value.ToString(); Assert.Equal("5", Get5IO.Apply(func.ToIO()).Run().Value); }