{"ast_node_type":"variable","tokens":[{"end":34,"kind":"keyword","start":0,"text":"let"}]}
        let mut variants = vec![];
    pub fn necessary_variants(&self) -> Vec<DefId> {
        self.walk(|p| match &p.kind {