An improving sequence is a lazy monotonical list of approximation values that approach the final value. It enables purely functional programmers to write efficient programs in the same form as simple but inefficient programs by exploiting its laziness.