Is Compat.jl worth it for the `public` keyword?

Why that macro

… So that you can use public on versions that support it without dropping support for old versions?

and where to put it?

In your package if you really feel the need to use public and support old versions.

Or why not the subtly different public macro (I’m not sure which is better, and it also has a bit more code) in the (“unpopular”) unregistered package:

Well, one reason I suggested the above macro is that I had never heard of that package before. Another reason would be that, as you said, its unregistered, so actually using it might end up being tricky.

Besides, this is really just such a simple macro I don’t think it particularly needs to be a dependency.