{"ast_node_type":"variable","tokens":[{"end":78,"kind":"keyword","start":0,"text":"let"}]}
        let prev_diverges = mem::replace(&mut self.diverges, Diverges::Maybe);
        let ret_ty = self.table.new_type_var();
        let prev_ret_ty = mem::replace(&mut self.return_ty, ret_ty.clone());