 
         {`p/nav (fn [_ k v]
                   (case k
-                    :before?    (.isBefore ld (-> v meta ::d/obj))
-                    :after?     (.isAfter  ld (-> v meta ::d/obj))
+                    :before?    (.isBefore ld (original-object v))
+                    :after?     (.isAfter  ld (original-object v))
                     :iso-format (.format DateTimeFormatter/ISO_DATE ld)
                     :format     (.format (dt-formatter v) ld)
                     :julian     (julian-field ld v)

    :rata-die     (.get o JulianFields/RATA_DIE)
    nil))

(defonce ^:private system-zone
  (delay (ZoneId/systemDefault)))



        {`p/nav  (fn [_ k v]
                   (case k
                     :before?    (.isBefore lt (original-object v))
                     :after?     (.isAfter  lt (original-object v))
                     :iso-format (.format DateTimeFormatter/ISO_TIME lt)
                     :format     (.format (dt-formatter v) lt)
                     nil))})))

  LocalDate
  (datafy [ld]
    (let [weekday (.getDayOfWeek ld)
          ym      (YearMonth/of (.getYear ld)
                                (.getMonth ld))]
      (with-meta
