Providing a protocol with a default concrete implementation of the interface? That's not passing code review here.
Would I have caught the bug? Probably not. But it looks like bad form to me to provide that default implementation to Greeter, so please rewrite your code.