It seems that unit testing and private functions are opposed by convention in #clojure Cider and presumably other places -- a fact that can make TDD difficult since, hey -- I need to test that each line of the data spec is handled properly, but those shouldn't be exposed to library users. Solution settled on making a quasi-private namespace where we hide things that drive the main api functions -- technically still public, but documented for clients.