public static void PushRange <T>(this Stack <T> self, IEnumerator <object> enumerator) => self.PushRange(enumerator, true);
public static void PushRange <T>(this Stack <T> self, IEnumerable <object> collection, bool allowDuplicate) => self.PushRange(collection?.GetEnumerator(), allowDuplicate);
public static void PushRange <T>(this Stack <T> self, params object[] items) => self.PushRange(true, items);
public static void PushRange <T>(this Stack <T> self, IEnumerable <object> collection) => self.PushRange(collection, true);
public static void PushRange <T>(this Stack <T> self, bool allowDuplicate, params T[] items) => self.PushRange(allowDuplicate, false, items);