Organizing the instrumentation of functions
There is no specific way to manage instrumenting a function, however, a common approach is to define a collection of functions to instrument, then use a helper function to instrument all the functions at once.
(def ^:private function-specifications [`card-game/deal-cards `card-game/winning-player])
(defn instrument-all-functions  (spec-test/instrument function-specifications))
Refactoring the code may involve a number of changes benefit from instrumentation being switched off until its complete. The
unstrument function will remove instrumentation from all the functions in the collection.
(defn unstrument-all-functions  (spec-test/unstrument function-specifications))
Koacha Test Runner
Koacha test runner can manage the testing of function specifications and is especially useful for managing unit level testing with specifications.