Further refinement of the action button bahvaiour.
Updated LinkedSlotGroup.infer_dt to return the default value for the inferred data type for convenient initialisation of plugin member variables, and updated the logic to take into account that when we infer the data type post-deserialisation, we're only guaranteed that at least one of the slots the target node is connected to has a valid data type. All others could be ANY.
Updated the If / If...Else and Equals plugins to correctly initialise internal state based on the inferred datatype after deserialisation. Updated the If / If...Else plugins to change their slot flow behaviour in update_state rather than in update_input. All slots must be active on frame #0, since the rest of the logic relies on handling off values to be cached in the conditional plugins at that point. If we do it the other way, any If or If...Else plugin that is configured to emit a value that is computed on frame #0 but is then static cannot be handed off to the conditional plugin correctly since any further processing of the part of the graph is not happening on frame#1 and onwards.