duplicate() is an interface to the C-level
shallow_duplicate() functions. It is mostly meant for users of
the C API of R, e.g. for debugging, experimenting, or prototyping C
code in R.
duplicate(x, shallow = FALSE)
An R object. Uncopyable objects like symbols and
environments are returned as is (just like with
Recursive data structures like lists, calls and pairlists are duplicated in full by default. A shallow copy only duplicates the top-level data structure.