         (extend org.slf4j.Logger
           Logger
           {:enabled?
-           (fn [logger# level#]
+           (fn [^org.slf4j.Logger logger# level#]
              (condp = level#
                :trace (.isTraceEnabled logger#)
                :debug (.isDebugEnabled logger#)

         (extend org.apache.commons.logging.Log
           Logger
           {:enabled?
            (fn [logger# level#]
              (condp = level#
                :trace (.isTraceEnabled logger#)
                :debug (.isDebugEnabled logger#)

         (extend java.util.logging.Logger
           Logger
           {:enabled?
            (fn [^java.util.logging.Logger logger# level#]
              (.isLoggable logger#
                (or
                  (levels# level#)
                  (throw (IllegalArgumentException. (str level#))))))
            :write!
            (fn [^java.util.logging.Logger logger# level# ^Throwable e# msg#]
              (let [^java.util.logging.Level level#
                    (or
                      (levels# level#)
