Clean up @all directive and remove args

Fixes the `@all` directive so it's no longer completely broken (fixes #60).

Also removes support for the index args. They're pretty complex to explain, and in practice if anyone *did* need to add documentation for e.g., 2 of 3 overloaded usages, it wouldn't be that bad to duplicate it. If we end up really needing support for args, we can always add it back later without breaking anyone.

Helps with some `@usage` confusion mentioned in #38.
This guard is now protecting against a condition that is not possible (an invalid selection). In fact, the whole loop can be replaced with:

for block in blocks:
  block.SetType(True)