Previously, every node had its own declaration. This isn't ideal, because it's often the case that all nodes of the same type have the same declaration. That's the case for all nodes using declarations currently. It will not be true for e.g. group nodes in the future. Sharing node declarations between nodes makes it a bit more efficient. Differential Revision: https://developer.blender.org/D12898