We need improve the Expr fmt: like
let expr1 = and(a_1.clone(), b_2.clone())
.and(a_2.clone())
.and(b_1.clone());
let expr2 = and(and(a_1.clone(), b_2.clone()), and(a_2.clone(), b_1.clone()));
assert_eq!(expr1, expr2);
This is not equal but they have the same string format:
a = Int64(1) AND b = Int64(2) AND a = Int64(2) AND b = Int64(1)
Originally posted by @Ted-Jiang in #3859 (comment)