Print is for streaming output, here you do not stream output.
Overloading do not require the use of print, I am using overloading.
The library pert linked to uses print for streaming and it was exactly that kind of interface I did not want. When I show numbers on a LED display I want them right adjusted without any extra work.
You have the extra work by having different functions. It indeed works and great if that is what you want! But the whole fact it breaks one of the very useful Arduino concepts makes it that I would not use it or recommend it, especially not for newbies. But again, that's preference And I was just curious why not to do it 'the Arduino way". No hard feelings!
clear();print(123); // Display will flicker between clear and print, may or may not be visible
Why would it? It does not exclude a show() method.
I do agree the setCursor() can be confusing. But that's no different in your library except the fact you have to call it more explicitly aka are forced to think about it before. But if the documentation of a library is written well (and yeah, I know most are not...) this should be noted right away.
I did not see a show method in the LCD API