Slide-Guitar example and functions for stringed.clj
it needs to be there because of dependencies on non-public functions