     :rata-die     (.get o JulianFields/RATA_DIE)
     nil))
 
+(defn- original-object
+  [d]  ;; `d/datafy` adds the original object in the metadata
+  (-> d meta ::d/obj))
+
 (defonce ^:private system-zone
   (delay (ZoneId/systemDefault)))
 


        {`p/nav (fn [_ k v]
                  (case k
                    :before? (.isBefore ym (-> v meta ::d/obj))
                    :after?  (.isAfter  ym (-> v meta ::d/obj))
                    :instant (-> (.atDay ym 1)
                                 (.atStartOfDay)
                                 (.toInstant (or (zone-offset v) @system-offset)))


        {`p/nav (fn [_ k v]
                  (case k
                    :before?    (.isBefore zdt (original-object v))
                    :after?     (.isAfter  zdt (original-object v))
                    :iso-format (.format DateTimeFormatter/ISO_ZONED_DATE_TIME zdt)
                    :format     (.format (dt-formatter v) zdt)
                    :instant    (.toInstant zdt)
