Levenshtein distance
Each recursive call matches one of the cases covered by the Damerau–Levenshtein distance: