use super::*;
pub type AggSet = Vec<Expr>;
pub fn analyze_aggs(enode: &Expr, x: impl Fn(&Id) -> AggSet) -> AggSet {
use Expr::*;
if let RowCount | Max(_) | Min(_) | Sum(_) | Avg(_) | Count(_) | First(_) | Last(_) = enode {
return vec![enode.clone()];
}
enode.children().iter().flat_map(x).collect()
}