Мне удалось исправить кучу ошибок, но я не могу заставить эту функцию работать.
// Substring
func substring(_ start: Int, end: Int) -> String {
return self.substring(with: NSRange(self.characters.index(self.startIndex, offsetBy: start) ..< self.characters.index(self.startIndex, offsetBy: end)))
// error here "Type 'String._CharacterView.Index' (aka 'String.Index') does not conform to protocol 'FixedWidthInteger'"
}