public static EmptyEnumerable <TItemOut> EmptySelectMany_Impl <TItem, TItemOut>(ref EmptyEnumerable <TItem> source, Delegate selector)
        {
            if (source.IsDefaultValue())
            {
                throw CommonImplementation.Uninitialized(nameof(source));
            }
            if (selector == null)
            {
                throw CommonImplementation.ArgumentNull(nameof(selector));
            }

            return(EmptyCache <TItemOut> .Empty);
        }
        internal static EmptyEnumerable <TOutItem> EmptyZipBridge_Impl <TItem, TOutItem, TSecondItemOut, TBridgeEnumerable>(ref EmptyEnumerable <TItem> first, TBridgeEnumerable second, Delegate resultSelector)
            where TBridgeEnumerable : class, IEnumerable <TSecondItemOut>
        {
            if (first.IsDefaultValue())
            {
                throw CommonImplementation.Uninitialized(nameof(first));
            }
            if (second == null)
            {
                throw CommonImplementation.Uninitialized(nameof(second));
            }
            if (resultSelector == null)
            {
                throw CommonImplementation.ArgumentNull(nameof(resultSelector));
            }

            return(EmptyCache <TOutItem> .Empty);
        }
        internal static EmptyEnumerable <TOutItem> EmptyZip_Impl <TItem, TOutItem, TSecondItemOut, TSecondEnumerable, TSecondEnumerator>(ref EmptyEnumerable <TItem> first, ref TSecondEnumerable second, Delegate resultSelector)
            where TSecondEnumerable : struct, IStructEnumerable <TSecondItemOut, TSecondEnumerator>
            where TSecondEnumerator : struct, IStructEnumerator <TSecondItemOut>
        {
            if (first.IsDefaultValue())
            {
                throw CommonImplementation.Uninitialized(nameof(first));
            }
            if (second.IsDefaultValue())
            {
                throw CommonImplementation.Uninitialized(nameof(second));
            }
            if (resultSelector == null)
            {
                throw CommonImplementation.ArgumentNull(nameof(resultSelector));
            }

            return(EmptyCache <TOutItem> .Empty);
        }