 			       [:key String :version Integer :sum Number])
       getter (.getAttributeGetter (.getMetadata heavier-whales-length) "length")
       accessor (fn [value] (.get getter value))
-      new-value #(accessor (.getNewValue %))
-      old-value #(accessor (.getOldValue %))]
+      new-value (fn [#^Update update] (accessor (.getNewValue update)))
+      old-value (fn [#^Update update] (accessor (.getOldValue update)))]
   (def sum
        (proxy
 	[Reducer$Strategy]

	   Transformer$Transform
	   VersionedModelView

	   Reducer
	   Reducer$Strategy
	   ])

	(initialValue [] 0M)
	(initialType [type] type)
	(currentValue [key version value]
		      (.create #^Metadata metadata #^Collection (collection key version value)))
	(reduce [insertions updates deletions]
		(-
		 (+
