Why is this not just a huge set? in case we need to handle nested transactions ?