public static TCollection DrainToNew <T, TCollection>(this IEnumerator <T> enumerator) where TCollection : ICollection <T>, new() =>
 enumerator.DrainTo <T, TCollection>(Activator.CreateInstance <TCollection>());
 public static List <T> DrainToList <T>(this IEnumerator <T> enumerator) =>
 enumerator.DrainTo <T, List <T> >(new List <T>());