By specifying formally whether an action taken by a command is destructive, a command line interface could handle typos for non-destructive actions.
It couldd make a best guess at what you’re trying to do, and just do it if it’s a non-data-altering call (like ls -l), and asking if you’re sure or failing if it’s data-altering call (like rm test.txt).
If the ‘fuzzy’ flag could be passed invisible along during pipe situations, it would be possible for subsequent actions to act as if their input is not certainly what was intended.