Я вижу проблему в том, что шаг синтаксического анализа или преобразования отсутствует.
Самое простое решение, которое приходит мне в голову, это:
val (num : Int, token : String) = regex.find("0 A")!!.destructured.let {
(s, s2) -> s.toInt() to s2
}
Но элегантный / канонический? Я оставляю это на ваше усмотрение.
Я не знаю ни одной другой встроенной функции, которая выполняет автоматическое преобразование; -)