> but I think "<- true" looks nicer than "<- struct{} {}"
And what looks even better:
defer close(doneChannel)
(it's also syntactically correct -- you ca't just have a defer block without a function invocation)