let equal a b =
    Typ.equal a.arr_element b.arr_element &&
      (match a.arr_flat , b.arr_flat with
          | Some a , Some b -> Int64.compare a.arr_size b.arr_size = 0
          | None , None -> true
          | _ -> false)