good point about the test shells which leaves only command_list and completion (assuming this PR will be merged in). We could just filter out those two names explicitly - I can't imagine a case for a user-land shell not wanting to not be listed, especially given in 3.x shells need to be explicitly loaded.