How do I create nested containers (structs)?

I have an Inventory system. The actor component has an array of FItemData, so I can save/load. I have AItem as a base which has FItemData, everything any item would need. I want a CHILD of AItem, call it a backpack, which is itself an AItem and has FItemData, but also can contain an array of more AItems/FItemData contents.

In blueprints, I cannot create any variable type in FItemData which contains FItemData as a variable itself. In C++, I can create TArrayFItemData contents; inside FItemData, BUT if I make it a Uproperty, I get that recursive structs on properties are not supported.

So. Ultimately, how am I supposed to make nested containers? I need an item that can contain other items, and can save/load primitive values. I’ve been struggling with this for days and if I just need to design it differently, like a linked list or with a full array of items that contain a parentID I can do that too.