pub fn and_collect<I>(iter: I) -> Option<ExprRef>where I: IntoIterator<Item = ExprRef>, I::IntoIter: DoubleEndedIterator<Item = ExprRef>,
Collects a list of anded values into a single vortex, expr [x, y, z] => x and (y and z)
and