On the one hand we have SwiftUI, which eliminates bugs by removing the need to sync state around the codebase. On the other hand iOS 14 adds a menu property on UIBarButtonItem, with no way to build the menu on-demand as far as we can tell.

You have to work out all the state that affects the menu and set the property again each time that state changes. Perhaps we could refactor a load of stuff and set the property via Combine. For something short-lived like a menu, building on demand seems like such a nice API.