Unexpected behavior with FrameNode.clone

Take the example of a frame that contains a list of items, where the first item in the list is a main component, and the rest of the items are instances of that component.

If you duplicate this parent frame via the UI, the list in the new frame will be all instances that point back to the main component in the original parent frame.

The documentation for FrameNode.clone seems to say that it works the same way: “Nested components will be cloned as instances who master is the original component.”

However, what I am seeing is that clone instead creates a new main component in the new frame and updates the instances in the list to point to this new main component.

Ironically this is the behavior I wanted and was writing a plugin to do the same thing. But it is confusing that the documentation and behavior for clone do not match.

Has anyone else encountered this?