More validation, docstrings and fix to example project.clj