There is such a thing as a cluttered graphical interface, and some complexity cannot just be abstracted away.
> The GUI, which can include arbitrary number of text boxes for command line style entry, is a superset of what the command line can do.
That would be like saying that because I am able to write "First open this app by clicking on the upper-left icon, then click File, new File", would mean that text is a superset of the GUI because it can describe visual cues. An abstraction can always replace another, it does not mean it is a superset of it.
Take the source code for your GUI application, this is pure text. In the early days, there was shell code that would describe terminal GUI of sort to configure the linux kernel. This shell code is still commands read token per token with matching behavior. Because an abstraction can be traded for another (which could be argued to be a founding principle of computer science), does not mean that one is a superset of the other.
The GUI, which can include arbitrary number of text boxes for command line style entry, is a superset of what the command line can do.