{"ast_node_type":"function","tokens":[{"end":88,"kind":"keyword","start":0,"text":"pub(crate)"}]}
    pub(crate) fn provenance_split(&self) -> (usize, bool, usize, usize, usize, usize) {
    /// (parent total, self param, type params, const params, impl trait list, lifetimes)
        let mut self_param = false;