transition

fun transition(value: V, transition: T): Result<V>

Execute the given transition on the given value.

If the target state is already present, then this is a no-op. If the provided transition cannot apply to the value's state, then this is a failure. Otherwise, the transition is applied and the state is updated in the returned value.