Return a new string that sorts between two given strings
<p>Given two strings a and b, where a is lexicographically &lt; b, I'd like to return a string c such that a &lt; c &lt; b. The use case is inserting a node in a database sorted by such keys. You can specify the format for a, b, and c if you like, as long as it is possible to generate initial values as well as new values on insert.</p>

<p>Is there a practical algorithm for this?</p>