`createForgotPasswordLink` doesn't `throw`. Why `try`?