Note that there is a conflict between the subcommands in the example:
naval_fate ship new <name>... naval_fate ship <name> move <x> <y> [--speed=<kn>] naval_fate ship shoot <x> <y>
You could try to warn of such conflicts, but that sounds like a lot of work... :)
naval_fate ship move <name> <x> <y> [--speed=<kn>]
Note that there is a conflict between the subcommands in the example:
Users can't name their ships 'new' or 'shoot' and you can't safely add more 'ship something' commands in new versions as you risk colliding with some user's ship name.You could try to warn of such conflicts, but that sounds like a lot of work... :)