fn node_mut<'a>(&mut self, mut path: slice::Iter<'a, NodeId>) -> Option<&mut Node> {
        match path.next() {
            None => Some(self),
            Some(node_id) => match &mut self.kind {
                NodeKind::Circuit { children, .. } => children.get_mut(node_id)?.node_mut(path),
                _ => None,
            },
        }
    }
/// Lookup node in the subtree with the root in `self` by path.
Lookup node in the subtree with the root in `self` by path.
Lookup node in the subtree with the root in ` self ` by path .
fn node_mut<'a>(&mut self, mut path: slice::Iter<'a, NodeId>) -> Option<&mut Node> {
        match path.next() {
            None => Some(self),
            Some(node_id) => match &mut self.kind {
                NodeKind::Circuit { children, .. } => children.get_mut(node_id)?.node_mut(path),
                _ => None,
            },
        }
    }
fn node_mut < ' a > ( & mut self , mut path : slice :: Iter < ' a , NodeId > ) -> Option < & mut Node > { match path . next ( ) { None => Some ( self ) , Some ( node_id ) => match & mut self . kind { NodeKind :: Circuit { children , .. } => children . get_mut ( node_id ) ? . node_mut ( path ) , _ => None , } , } }
Lookup node in the subtree with the root in `self` by path.
Lookup node in the subtree with the root in ` self ` by path .
&mut self
path
slice::Iter<'a, NodeId>