rust•armanriazi•semantic
primitive types are said to possess copy semantics, whereas all other types have move semantics.
Adding more functionality (e.g., reference-counting semantics rather than move semantics) to types by wrapping these in other types typically reduces their run-time performance.