def merge!(state)
      @cardinality = state.cardinality
      @policy = state.policy

      @transitions.merge!(state.transitions) do |_, _, transition|
        transition
      end

      return self
    end
def merge!(state)
      @cardinality = state.cardinality
      @policy = state.policy

      @transitions.merge!(state.transitions) do |_, _, transition|
        transition
      end

      return self
    end
Default rule: new state overwrites old state when applicable