If you want to explore more OSes that look like this, [Fuschia](https://fuchsia.dev/) is a good one to look at. Rather than having a file be the core primitive, it has an "actor" as the core primitive. And processes send messages to these actors to do anything.
Interestingly, Plan9 started moving in this direction in their later papers. They'd walk through all the many different file operations you'd need to get something accomplished, and then say "but we made a library which does all these things, so you don't need to do it yourself," which kinda defeats the purpose of having everything be a file--and brings you toward the Fuchsia approach.
It was supposed to be used instead of one of android versions (to simplify future updates and disconnect them from manufacturers and cell operators) but it didn’t happened…
Something like command-not-found is as good as it gets. Because you don't want to run an arbitrary program based on user input. You want to be able to know beforehand which program is going to run. Which you specifically cannot be sure of when you make a typo (and you don't know beforehand that you make a typo).
Its why rm evokes -i by default and requires -f to avoid interaction on some OSes. Users can and will make a mistake with it, especially new users. And everyone makes typos.
If the download and installation is fast enough, it feels smooth, and not annoying.
If a distro were to appear with this feature enabled by default, I hope they would have the foresight to not include "sl", or at least put it in the default blacklist.
Interestingly, Plan9 started moving in this direction in their later papers. They'd walk through all the many different file operations you'd need to get something accomplished, and then say "but we made a library which does all these things, so you don't need to do it yourself," which kinda defeats the purpose of having everything be a file--and brings you toward the Fuchsia approach.