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