      :capacity (.capacity s)})
   Object
   (hashCode [a]
-    (-> (hash-combine :BandStorage) (hash-combine ld) (hash-combine kl) (hash-combine ku)))
+    (-> (hash :BandStorage) (hash-combine ld) (hash-combine kl) (hash-combine ku)))
   (equals [a b]
     (or (identical? a b)
         (and (instance? BandStorage b) (= h (.h ^BandStorage b))

     :capacity (.capacity s)})
  Object
  (hashCode [a]
    (-> (hash-combine :FullStorage) (hash-combine sd) (hash-combine fd) (hash-combine ld)))
  (equals [a b]
    (or (identical? a b)
        (and (instance? StripeFullStorage b) (= sd (.sd ^StripeFullStorage b))

(deftype GERegion [^long m ^long n]
  Object
  (hashCode [a]
    (-> (hash :GERegion) (hash-combine m) (hash-combine n)))
  (equals [a b]
    (or (identical? a b)
        (and (instance? GERegion b)
