     [^{:tag int :primary-key true}   id
      ^{:tag int :version-key true}   version
      ^{:tag clojure.lang.Keyword :immutable true} type
-     ^{:tag float}                   length
-     ^{:tag float}                   weight
+     ^{:tag int}                     length
+     ^{:tag int}                     weight
      ^{:tag String}                  ocean
      ^{:tag int}                     ocean-area
      ^{:tag int}                     ocean-max-depth]

 (:import
  [clojure.lang
   Keyword]
  [java.util
   Collection
   Date

  (^int id [this] id)
  (^int version [this] version)
  (^clojure.lang.Keyword type [this] (.type whale))
  (^int length [this] (.length whale))
  (^int weight [this] (.weight whale))
  (^String ocean [this] (.id ocean))
  (^int ocean-area [this] (.area ocean))
  (^int ocean-max-depth [this] (.max-depth ocean)))
