   [pool]
   (cond
     (instance? java.util.concurrent.ScheduledThreadPoolExecutor pool)
-    (.getCorePoolSize pool)
+    (.getCorePoolSize ^java.util.concurrent.ScheduledThreadPoolExecutor pool)
 
     (instance? java.util.concurrent.ThreadPoolExecutor pool)
-    (.getMaximumPoolSize pool)
+    (.getMaximumPoolSize ^java.util.concurrent.ThreadPoolExecutor pool)
 
     :else
     nil))


  (defn queue-seq-add!
    "Add an item to a queue (and its lazy sequence)."
    [q x]
    (.add q x))

  (defn queue-seq-end!

  (defn- queue-reader
    "Make a lazy sequence from a queue, stopping upon reading the unique
    end-marker object."
    [^LinkedBlockingQueue q]
    (lazy-seq
      (let [x (.take q)]
        (when-not (identical? x end-marker)
