The viewer's own profile's actions: the bottom tab bar's way back to the
feed, and the Edit profile button. Its type is written out because the
feed's own tab bar opens this screen: the registry reads both definitions, so
an action type inferred from opens would close a loop the compiler cannot
break. openFeedTab is the type opens('FeedTimeline', …) yields — a tab
edge whose call lands on the feed tab's root — and openEditProfile the one opens('EditProfile', …)
yields, the editor's handle pushed over the profile.
The viewer's own profile's actions: the bottom tab bar's way back to the feed, and the Edit profile button. Its type is written out because the feed's own tab bar opens this screen: the registry reads both definitions, so an action type inferred from
openswould close a loop the compiler cannot break.openFeedTabis the typeopens('FeedTimeline', …)yields — a tab edge whose call lands on the feed tab's root — andopenEditProfilethe oneopens('EditProfile', …)yields, the editor's handle pushed over the profile.