List comprehension for another construct that generates a sequence of values Iterator for the concept of producing a list one element at a time Iteratee for an alternative Lazy evaluation for producing values when needed Corecursion for potentially infinite data by recursion instead of yield Coroutine for even more generalization from subroutine Continuation for generalization of control flow