As I reflect more on this, if elm/browser chooses to hide the implementation of Key, then elm/browser should also provide some utilities for testing contexts. It feels like a lot of noise to have to define an effect variant for each potential command occurring after init/update.
I also noticed that the elm/browser package does not have a test suite. For a community that uses testability as a selling point, I would generally expect all core libraries have test suites easily browseble on GitHub close to the source code.