           (fn [_ setter]
             (.andCollapserPropertiesDefaults setter ...))
 
-      This is your escape hatch into raw Hystrix.
+      This is your escape hatch into raw Hystrix. Please see additional notes about :init-fn
+      above. They apply to collapsers as well.
 
   The com.netflix.hystric.core/defcollapser macro is a helper for defining this map and storing it
   in a callable var.

  "Helper function that takes a definition map for a HystrixCollapser and returns a normalized
  version ready for use with execute and queue.

  See ns documentation for valid keys.

  See:
    com.netflix.hystrix.core/defcollapser

;################################################################################

(defmacro with-request-context
  "Executes body within a new Hystrix Context.

  Initializes a new HystrixRequestContext, executes the code and then shuts down the
  context. Evaluates to the result of body.

  Example:

    (with-request-context
      (... some code that uses Hystrix ...))

  See:
    com.netflix.hystrix.strategy.concurrency.HystrixRequestContext
  "
  [& body]
  `(let [context# (HystrixRequestContext/initializeContext)]
     (try
