fn mul_monomials<F: Neg<Output = F> + Clone + One + Zero + PartialEq, Column: Ord + Copy + Hash>(
e1: &HashMap<Vec<Variable<Column>>, Expr<F, Column>>,
e2: &HashMap<Vec<Variable<Column>>, Expr<F, Column>>,
) -> HashMap<Vec<Variable<Column>>, Expr<F, Column>>