{"ast_node_type":"other","tokens":[{"end":48,"kind":"keyword","start":0,"text":"while"}]}
        while !remaining_candidates.is_empty() {
        let mut remaining_candidates: Vec<_> = probes[1..].iter().map(|&(p, _)| p).collect();
            let mut made_progress = false;