 
         {`p/nav (fn [_ k v]
                   (case k
-                    :before?    (.isBefore odt v)
-                    :after?     (.isAfter  odt v)
+                    :before?    (.isBefore odt (-> v meta ::d/obj))
+                    :after?     (.isAfter  odt (-> v meta ::d/obj))
                     :iso-format (.format DateTimeFormatter/ISO_OFFSET_DATE_TIME odt)
                     :format     (.format (dt-formatter v) ldt)
                     :instant    (.toInstant odt)


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

                 :nano   epoch-nano}}
        {`p/nav (fn [_ k v]
                  (case k
                    :before?         (.isBefore inst (-> v meta ::d/obj))
                    :after?          (.isAfter  inst (-> v meta ::d/obj))
                    :iso-format      (.format DateTimeFormatter/ISO_INSTANT inst)
                    :format          (.format ^DateTimeFormatter v inst)
                    :local-time      (LocalTime/ofInstant      inst  (or (zone-id v) @system-zone))
