That makes it less discoverable.  If all the tests pass `done` but one, was that a typo?  A copy/paste fail?  An uninformed author?  Using done all the time avoids this confusion.  Remember that the compiler isn't the primary target.  The primary target of my code is the coder who will read this and maintain it later ... which may be me in a few weeks just after I forgot what I did.  If the primary target of my code was the compiler, all the "add spaces" arguments would be for not.