A command a native mod adds, as one usage: words, then arguments
<name:kind>, optional ones last in brackets [name:kind]:
pay <player:player> <amount:integer>, balance [player:player],
eco give <player:player> <amount:integer>. Kinds: word, text (the
rest of the line, last), integer, number, boolean, player,
item, block_pos, or a command argument type a mod registered with
Registrar::register_command_argument, named by its namespaced id:
machine use <machine:mymod:machine>. Usages of one command share their
words; the server merges them into one tree. Each executable usage keeps its own level:
a public foo bar lets everyone traverse foo, but does not make an
operator-only foo executable. Optional arguments also allow execution at
their preceding prefixes, at that usage’s level.
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.