isn't that just basically openscad's difference()? I'm talking about defining an object/module with positive space components and negative components. so basically, when you apply union() to that object and another object, the positive parts will be added to the second object, and the negative ones will be subtracted. currently this has to be done in two seperate steps