The one handle type of the screen Id of Registry, whatever reached it:
the handle every edge into it returns (ScreenEdgeTaken) —
ScreenInstance<D, ScreenHandle, 'required', Registry>, its origin the
screens and items that can open it (ScreenOpenersOf,
ScreenItemOpenersOf) and its back() those screens. A platform's
resume and launch entries hand it out for a named or checkpointed screen, so
a resumed screen and an edge-opened one are one type. Two kinds of screen
have no edge handle and keep the definition's own (ScreenInstance<D>): a
tab (no back by kind; an edge into it answers its retained stack, of which
this is the tab's member) and a screen nothing in the registry opens (a
launch root, a splash, an interruption), which never has a screen below it.
Such a screen is never an overlay (enterSplash, enterInterruption die on
one), a restore refuses a checkpoint whose top is one with no screen below
it, and checkpoint() never writes one, so the required back always has a
frame to land on.
The one handle type of the screen
IdofRegistry, whatever reached it: the handle every edge into it returns (ScreenEdgeTaken) —ScreenInstance<D, ScreenHandle, 'required', Registry>, itsoriginthe screens and items that can open it (ScreenOpenersOf, ScreenItemOpenersOf) and itsback()those screens. A platform's resume and launch entries hand it out for a named or checkpointed screen, so a resumed screen and an edge-opened one are one type. Two kinds of screen have no edge handle and keep the definition's own (ScreenInstance<D>): a tab (nobackby kind; an edge into it answers its retained stack, of which this is the tab's member) and a screen nothing in the registry opens (a launch root, a splash, an interruption), which never has a screen below it. Such a screen is never an overlay (enterSplash,enterInterruptiondie on one), a restore refuses a checkpoint whose top is one with no screen below it, andcheckpoint()never writes one, so the requiredbackalways has a frame to land on.