The most common use of first-class continuations in Scheme is to implement advanced control structures. In this paper we demonstrate that first-class continuations can also be used to implement lazy evaluation, and, consequently, to construct and manipulate streams and infinite data structures. In this regard we may give another interpretation to the term “data structure continuations” [16]. The paper is primarily concerned with continuations, not lazy evaluation. Our point is, in agreement with [10], that there is still much room for developing programming techniques with continuations. The main contribution of the paper is to present a new idiom for the use of continuations in Scheme, which is rather different from the usual “escaping from (and returning to) recursions” idiom [13].