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


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

                 :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))
