public IFilteredSpecificError <TSpecificError, TError, TSuccess> WhenError <TSpecificError>() where TSpecificError : TError => ErrorContent .Select <TError, IFilteredSpecificError <TSpecificError, TError, TSuccess> >( item => new ResolvedFilteredSpecificError <TSpecificError, TError, TSuccess>(item)) .DefaultIfEmpty( new UnresolvedFilteredSpecificError <TSpecificError, TError, TSuccess>( SuccessContent.SingleOrDefault())) .Single();
public IFilteredError <TError, TSuccess> WhenError() => ErrorContent .Select <TError, IFilteredError <TError, TSuccess> >( item => new ResolvedFilteredError <TError, TSuccess>(item)) .DefaultIfEmpty(new UnresolvedFilteredError <TError, TSuccess>(SuccessContent.SingleOrDefault())) .Single();