using System.Threading.Tasks; using LanguageExt; namespace ErsatzTV.Core { public static class LanguageExtensions { public static Either ToEither(this Validation validation) => validation.ToEither().MapLeft(errors => errors.Join()); public static Task> ToEitherAsync(this Validation> validation) => validation.ToEither() .MapLeft(errors => errors.Join()) .MapAsync, TR>(e => e); } }