class ReeObject::DeepDup

def dup_array(array, opts, cache)

def dup_array(array, opts, cache)
  dup = array.map { recursively_dup(_1, opts, cache) }
  dup_singleton_methods(array, dup)
  opts[:freeze] ? dup.freeze : dup
end