 (def DEFAULT-PROMISE-TIMEOUT 5000)
 
 (defn deref!
-  "Read a future or promise waiting for timeout ms for it to be successfully
-  dereferenced. Raises an exception if a timeout occurs"
+  "Read a future or promise waiting for timeout ms for it to be
+   successfully dereferenced. Raises an exception if a timeout occurs"
   ([ref] (deref! ref DEFAULT-PROMISE-TIMEOUT))
   ([ref timeout]
      (let [timeout-indicator (gensym "deref-timeout")

           ~@body)))))

(defn invert-map
  "Takes a map m and returns a new map that's keys are the m's vals and that's
  vals are m's keys. Assumes that m's keys and vals are both sets (i.e. don't
  contain any duplicates). If there are duplicate values in the map they will
  result in key collisions and a smaller result map.

   (invert-map {:a 1, :b 2, :c 3}) ;=> {1 :a, 2 :b, 3 :c}"
  [m]

(ns ^{:doc "Library of general purpose utility functions for Overtone
            internals."
      :author "Jeff Rose and Sam Aaron"}
  overtone.helpers.lib
  (:import [java.util ArrayList Collections]
