pub fn and(lhs: Type, rhs: Type) -> Type