Persistent Data Structures
Previous versions remain accessible.
Structural sharing reduces copying.
Useful for undo systems and immutable state.
Persistent trees can create a new root for every version.
Typical update cost depends on the underlying structure.