I dislike the fact that spec-tools defines it’s own macros and syntax on top of spec. This seems to be something of a pattern with spec companion libs (defn-spec and ghostwheel do it too), they all go “here is my custom macro for defining specs!”. The end result of course is that you have to choose one of the libraries to integrate into your project, if for some reason you need more than one, they won’t play with each other, they don’t compose!
It’s like a disease, and it’s pretty sad, because we could get so much value out of combining different libs. spec-coerce is a shining counter-example!