pub fn members(&self) -> Vec<Expr> {
        match self {
            I => vec![_0, _1],
            Pa(a, b) => {
                let a_mem = a.members();
                let b_mem = b.members();
                let mut res = vec![];
                for am in &a_mem {
                    for bm in &b_mem {
                        res.push(pa(am.clone(), bm.clone()));
                    }
                }
                res
            }
            _ => vec![]
        }
    }
/// Gets the members of some type.
Gets the members of some type.
Gets the members of some type .
pub fn members(&self) -> Vec<Expr> {
        match self {
            I => vec![_0, _1],
            Pa(a, b) => {
                let a_mem = a.members();
                let b_mem = b.members();
                let mut res = vec![];
                for am in &a_mem {
                    for bm in &b_mem {
                        res.push(pa(am.clone(), bm.clone()));
                    }
                }
                res
            }
            _ => vec![]
        }
    }
pub fn members ( & self ) -> Vec < Expr > { match self { I => vec ! [ _0 _1 ] , Pa ( a , b ) => { let a_mem = a . members ( ) ; let b_mem = b . members ( ) ; let mut res = vec ! [ ] ; for am in & a_mem { for bm in & b_mem { res . push ( pa ( am . clone ( ) , bm . clone ( ) ) ) ; } } res } _ => vec ! [ ] } }
Gets the members of some type.
Gets the members of some type .
&self
&self