remain to implement equalExpr