Are `Shader` and `Compositor` versions of `NodeCustomGroup` and `NodeTree` only differ by types/names?

I’m going to write tests for nodes api and operators, and want to make sure that I can use only NodeCustomGroup and NodeTree for testing, and avoid repeating any code for others.

SNCG and CNCG are similar to ShaderNodeGroup and CompositorNodeGroup. NodeCustomGroup is a generic type, and it’s not bound to a particular Nodetree type. They all use a NodeTree, with the difference that the CustomGroups use Python functions.

The ShaderNodeGroup, CompositorNodeGroup and TextureNodeGroup also seem to differ only by typename. They seem to use the same RNA code.

So, my approach is to register some generic custom groups and test them in context of compositor node editor (just to give some area.node_tree for operators and to avoid materials/slots layer that has to be tested separately).