One branch: what the caller does on the screen that appeared instead of the
expected one. Its answer is the screen's own (a challenge action answers the
next challenge step, or the challenge's end) and the call discards it: the
screens read the screen in front again, so nothing a branch returns can stand
in for main's result. It runs on the process's whole surface; its errors are
its own, and the constant carries their union (AndroidOtherwise).
unknown in the error's place is the bound of what a handler may fail with,
not a type that flows anywhere: defineOtherwise reads each handler's own
error type from the handler itself.
One branch: what the caller does on the screen that appeared instead of the expected one. Its answer is the screen's own (a challenge action answers the next challenge step, or the challenge's end) and the call discards it: the screens read the screen in front again, so nothing a branch returns can stand in for
main's result. It runs on the process's whole surface; its errors are its own, and the constant carries their union (AndroidOtherwise).unknownin the error's place is the bound of what a handler may fail with, not a type that flows anywhere:defineOtherwisereads each handler's own error type from the handler itself.