 			// Find next first case-insensitive match of word's i-th character.
 			// The search in "string" begins at "startAt".
 			if let range = lString.rangeOfString(
-				String( lWord[advance(lWord.startIndex, i)] as Character ),
-				options: nil,
+				String( lWord[lWord.startIndex.advancedBy(i)] as Character ),
+				options: NSStringCompareOptions.CaseInsensitiveSearch,
 				range: Range<String.Index>( start: startAt, end: lString.endIndex),
 				locale: nil
 			){

					// Acronym Bonus
					// Weighing Logic: Typing the first character of an acronym is as if you
					// preceded it with two perfect character matches.
					if string[advance(idxOf, -1)] == " " { charScore += 0.8 }
				}
			} else {
				// Character not found.

		finalScore = 0.0,
		string = self,
		lString = string.lowercaseString,
		strLength = string.characters.count,
		lWord = word.lowercaseString,
		wordLength = word.characters.count,
		idxOf:String.Index!,
		startAt = lString.startIndex,
		fuzzies = 1.0,
