Following a conversation on #8:
...the way Commandant is set up makes it kind of painful where every error needs to be the same type so I avoided doing anything drastic, but I think with enough effort one could make a generic wrapper error and each command could have its own error which coalesces into the generic wrapper automatically, satisfying logical soundness and type constraints.
Each command instance should have its own specialized error type which is transformed into the generic wrapper to satisfy the error type constraint on the actual main running instance.
Following a conversation on #8:
Each command instance should have its own specialized error type which is transformed into the generic wrapper to satisfy the error type constraint on the actual main running instance.