comb2 :: (Expr, Value) -> (Expr, Value) -> [(Expr, Value)]
comb2 (e1,v1) (e2,v2) = [(App Add e1 e2, v1+v2)] ++
                        if 1 < v1
                          then [(App Mul e1 e2, v1*v2)] ++ [(App Div e1 e2, 1)]
                          else []
comb2 :: (Expr, Value) -> (Expr, Value) -> [(Expr, Value)]
comb2 (e1,v1) (e2,v2) = [(App Add e1 e2, v1+v2)] ++
                        if 1 < v1
                          then [(App Mul e1 e2, v1*v2)] ++ [(App Div e1 e2, 1)]
                          else []
comb2 (e1,v1) (e2,v2) = [(App Add e1 e2, v1+v2)] ++
                        if 1 < v1
                          then [(App Mul e1 e2, v1*v2)] ++ [(App Div e1 e2, 1)]
                          else []