public static IEnumerable<int> UpTo(this int self, int limit) { for (int i = self; i <= limit; ++i) yield return i; }