let equal m1 m2 = m1 == m2 || match m1, m2 with | Top (s, a), Top (s', a') -> Top_Param.equal s s' && Origin.equal a a' | Map m1, Map m2 -> M.equal m1 m2 | _ -> false