For example, suppose you have an array that fetches its elements lazily from a file. If another process mutates the file, presumably future element references will get the new values, so that the array is read-only rather than truly immutable. Is that all right, or is actual immutability assumed, such that if you break it, you violate some invariant?