add withDescription method
replace with a mutating global function
implementing toString with tests
compile src before testing
more toString implementations with tests