requestVerification

Requests a verification code be sent to phoneNumber.

The library guarantees PhoneNumberValue.isValid is true before calling this, so implementations do not need to re-validate — though re-checking server-side is still correct.

Throwing is acceptable: the controller catches it and surfaces PhoneVerificationState.Failed. Returning VerificationRequestResult.Failure is preferred when you have a message worth showing.