Comment made by: laczoka
First attempt to form a patch.
I am unsure whether it is ok to use the overloaded 3rd argument approach or take a keyword arg approach for the optional arguments.
i.e. ((link: sym-or-fn n & {:keys [fspec gen)}])
On the other hand, it only make sense to pass one or the other and given sym-or-fn, fspec-or-gen seems appropriate.
Currently the test suite for c.spec is lacking, I'm happy to add a few example-based tests for exercise-fn, once the approach is approved.
Also