let is_included m1 m2 =
    let new_ = try
      is_included_exn m1 m2; true
    with Is_not_included -> false
    in
    assert
      (let n = succ !check_is_included_assert in
       check_is_included_assert := n;
      n land 63 <> 0 || 
      (let mee = meet m1 m2 in
       let eq = equal mee m1  in
       if (eq <> new_)
       then begin
         Format.printf "Map_Lattice.is_included is wrong. Args: %a(h=%d) %a(h=%d) resultnew = %b meet = %a(h=%d)@."
           pretty m1
           (match m1 with Map m -> M.hash_debug m | _ -> 0)
           pretty m2
           (match m2 with Map m -> M.hash_debug m | _ -> 0)
           new_
           pretty mee
           (match mee with Map m -> M.hash_debug m | _ -> 0);
         false
       end
       else true));
    new_