using System; using System.Threading.Tasks; namespace Sony.Filtr.Functional { public static class IdentityExtensions { public static Identity ToIdentity(this T value) => new Identity(value); public static Identity Bind(this Identity @this, Func f) => f(@this.Value).ToIdentity(); public static async Task> BindAsync(this Identity @this, Func> f) { return await f(@this.Value); } } }