   
 (extend-protocol IPeriod
   guangyin.internal.types.ObjectWrapper
-  (period [this] (period @this))
-  (period [this other] (period @this other))
+  (period ([this] (period @this))
+          ([this other] (period @this other)))
   clojure.lang.Keyword
   (period [this] (wrap (fields/periods this)))
   java.time.temporal.TemporalAmount


(extend-protocol ILocalTime
  guangyin.internal.types.ObjectWrapper
  (local-time [this] (local-time @this))
  (local-time [this param] (local-time @this param))
  clojure.lang.Keyword
  (local-time [this] (if (= this :now)
                         (wrap (LocalTime/now))

               ([this param] (wrap (OffsetTime/parse this (unwrap param)))))
  java.lang.Long
  (offset-time ([hour minute second nanosecond offset]
                (wrap (OffsetTime/of hour minute second nanosecond
                                     @(zone-offset offset))))))

(defn local-date-time?
  "Returns true if the given value is a local date-time."
