Primarily implemented for the math node so a new shader can be generated and compiled based on what inputs the node is receiving.
Transitions are nodes but have a few parameters that are programmatic and always required. This lets people write external code for transitions as well.