Don't forget to cut off the executable name: args = arg[1 .. $];
Constructs the graph of the given command types, ...
Uses the bottom-up command gathering approach.
Uses the top-down approach, and the given bind argument function. You don't need to scan the modules to do the top-down approach.