My guess is that the tests didn't catch this because in the case of the tests, this method was almost but not quite completeWithFinalValue, and since there is no promise associated with startingV, that is the promise that would have been borked. Fixed.