By-value or copy-on-write semantics in imperative programming languages · HackerTrans