Runtime values. Lists and structs share their contents until one copy is changed, so passing them around is cheap while keeping value semantics.