I can see how Twitters length-limit led to external link shorteners, but once they took it in-house, why expose it? Why not just say that a link (of any length) "costs" <i>n</i> characters, and handle the shortening/expansion on the backend? What is the benefit of exposing the mechanism?