> You'd just need to tag all your objects as repeating, same goes for mirroring.
I think "tagging a bunch of objects as mirrored" is different to "mirror a group of objects. The choice of axis for the reflection would surely be based on the group in the latter case.
And for booleans this distinction is even more useful as you might want to express something like (A ⋂ B) - C).
Again - having some awareness of the hierarchy would allow more control as you're essentially creating a tree structure (like Raymarching Toolkit does)
Also take a look at https://github.com/zalo/libfive-unity - this works in a similar way.