[8] While it did not find extensive use, it introduced many features that are used widely now, and is seen as a step in the development of object-oriented programming (OOP).
Objects may be mutable or immutable, the latter being base types such as integers, booleans, characters and strings.
[10] Another key feature of the CLU type system are iterators, which return objects from a collection serially, one after another.
[10] Iterators offer an identical application programming interface (API) no matter what data they are being used with.
A distinctive feature of CLU iterators is that they are implemented as coroutines, with each value being provided to the caller via a yield statement.
Iterators like those in CLU are now a common feature of many modern languages, such as C#, Ruby, and Python, though recently they are often referred to as generators.
[12] Python and Ruby borrowed call by sharing, the yield statement,[13] and multiple assignment.