+Folder copies its child array at construction and exposes no mutation API. Because Folder is a record, its compiler-generated equality compares the child array by reference, so two folders with the same contents are not equal unless they share the array. A mutable version needs rules for preventing cycles and maintaining aggregate values and numeric limits.