Is this done by `newUnion` or is more needed here?