ParsedCommand:
    | {
        params: null;
        tag: "help";
    }
    | {
        params: {
            newName: string;
        };
        tag: "renameRoom";
    }
    | {
        params: {
            newName: string;
        };
        tag: "renameUser";
    }
    | {
        params: {
            email: string;
        };
        tag: "inviteUser";
    }
    | {
        params: {
            email: string;
        };
        tag: "approveRequest";
    }
    | {
        params: null;
        tag: "leave";
    }
    | {
        params: null;
        tag: "aboutRoom";
    }
    | {
        params: {
            newJoinPolicy: JoinPolicy;
        };
        tag: "setRoomJoinPolicy";
    }
    | {
        params: {
            newContentPolicy: ContentPolicy;
        };
        tag: "setRoomContentPolicy";
    }
    | {
        params: {
            count: number;
            typeToken: "words" | "paragraphs";
        };
        tag: "lorem";
    }

A parsed command represents a valid command with type-safe parameters, and thus can be safely executed.