(deep-clone arg) arg: any type returns any type
F
Returns a deep, recursive copy of its argument.
If arg
is an array, string or table, this function allocates a new, mutable collection;
recursively deep-clones each element from the original collection, storing the result
into the new collection; and then returns that new collection.
If arg
is an iterator, (deep-clone arg)
is equivalent to (clone arg)
.
If arg
is an object or RData
with an op-deep-clone
method, this function invokes that
method and returns the result. When that method is not present, (deep-clone arg)
is
equivalent to (clone arg)
.
For other primitive types, the function simply returns arg
.