public static TryAsync <A> TryAsync <A>(Func <A> f) => TryAsyncExtensions.Memo <A>(() => Task.Run(() => new Result <A>(f())));
public static TryAsync <A> TryAsync <A>(Task <A> v) => TryAsyncExtensions.Memo <A>(new LanguageExt.TryAsync <A>(async() => new Result <A>(await v)));
public static TryAsync <A> TryAsync <A>(Task <A> v) => TryAsyncExtensions.Memo <A>(new LanguageExt.TryAsync <A>(async() => new Result <A>(await v.ConfigureAwait(false))));
public static TryAsync <A> TryAsync <A>(Func <Task <A> > f) => TryAsyncExtensions.Memo <A>(new LanguageExt.TryAsync <A>(async() => new Result <A>(await f())));