Not sure if this matters for you or not, but my understanding (with some experiments) is that the "slicers" implicitly do a union. As in: you could have an STL with a bunch of overlapping blobs and the 3d printer slicing code just checks isInside -- which is effectively a union.
At least that's what I found when I was generating STLs in code.