The goal is to reduce redundancy by abstracting over the different types of node tree zones. This makes it easier to add new zone types and makes the intend of code more clear. For example, now it is more obvious what code deals with zones in general and what does simulation specific things. Pull Request: https://projects.blender.org/blender/blender/pulls/112531