Inside the `if` branch, what is the narrowed type of `r`, and why does accessing `r.error` there fail?type Resp = | { ok: true; data: string } | { ok: false; error: string }; function handle(r: Resp) { if (r.ok) { // r here? } }