Java objects that share parts of immutable graphs. Reused subgraphs have directly or indirectly recursive Elements. Selected components get replaced by new counterparts in Context of Mirrors - translation tables. Deep copies are not involved.
A C++ immutable value string class, template. Constant time copy construction and assignment, avoids some costly dynamic allocation, and can serve as "smart pointer" for API strings. Constant time construction from literals and as "smart pointer".