Lazily evaluated lists in Python