         // If you want to use this in production, you should implement something more robust
         // Long strings also suffer from floating point precision issues
         
-        precondition(self.characters.count == end.characters.count)
+        precondition(self.count == end.count)
         
         // 'Snap' near the ends
         if t < 0.00001 {

        
        var cumulative = 0
        
        for (index, char) in characters.reversed().enumerated() {
         
            var num = convertCharacterToInt(char)
            


func convertCharacterToInt(_ character: Character) -> Int {
    
    for (index, char) in alphabetString.enumerated() {
        if char == character {
            return index
        }
