{"ast_node_type":"function","tokens":[{"end":74,"kind":"keyword","start":0,"text":"pub(crate)"}]}
    pub(crate) fn hoist_witness_pat(&self, pat: &WitnessPat<'db>) -> Pat {
        let mut subpatterns = pat.iter_fields().map(|p| self.hoist_witness_pat(p));