{"ast_node_type":"function","tokens":[{"end":62,"kind":"keyword","start":0,"text":"pub"}]}
    pub fn and(self, tcx: TyCtxt<'tcx>, other: Self) -> Self {
        self.reduce_and(tcx, other).unwrap_or_else(|| Self::And(tcx.arena.alloc([self, other])))