inline fun <R> CharSequence.foldIndexed(
operation: (index: Int, acc: R, Char) -> R
Accumulates value starting with initial value and applying operation from left to right
to current accumulator value and each character with its index in the original char sequence.
operation - function that takes the index of a character, current accumulator value
and the character itself, and calculates the next accumulator value.