Solid union cares about order?

I know solid union is a bit finicky and can require tweaking tolerances, but the attached file exhibits a level of fragility that is surprising.

Two closed breps in a list, and just reversing the order of the list is the difference between success and failure. This is a subset of a much larger object to isolate the problem.

I don’t really mind ordering breps if it will help solid union be successful, but can anyone tell why it prefers one order to the other? What should I key off of to sort a larger list of closed breps?

solid-union-order (18.3 KB)

I deal with this so often - looking forward to what answers you get!

In my experience, when I have issues with the boolean operations, I bake objects temporarily to test manually in rhino - I soon discover selecting them in specific order (sometimes even certain groups at a time), as if following a hierarchy - which makes sense but kind of stinks if you already know all solids intersect, they’re flattened, and therefore they should unify…but maybe not ‘therefore’ so I can totally be wrong.

Other times I turned into meshes, perform mesh unions and “it works”, though it literally destroys the geometry.