let merge t1 t2 =
      match (t1, t2) with
        (Empty, t) -> t
      | (t, Empty-> t
      | (_, _) -> bal t1 (min_elt t2) (remove_min_elt t2)