
There are more than 5 components listed, with CommandResult being duplicated.
Also, some of the components listed are absent from the diagram, namely 'Parse'. Could Parse have been mistaken and intended to be typed as 'Parser' instead?
It would be great if you could clarify how these components are grouped through bullet points or indentations such as to show how 5 components are derived.

There are more than 5 components listed, with CommandResult being duplicated.
Also, some of the components listed are absent from the diagram, namely 'Parse'. Could Parse have been mistaken and intended to be typed as 'Parser' instead?
It would be great if you could clarify how these components are grouped through bullet points or indentations such as to show how 5 components are derived.