{"ast_node_type":"variable","tokens":[{"end":50,"kind":"keyword","start":0,"text":"let"}]}
        let cache_key = obligation.as_cache_key();
    fn register_obligation_at(&mut self, obligation: O, parent: Option<usize>) -> Result<(), ()> {
        if self.done_cache.contains(&cache_key) {