Как Kotlin Multiplatform использует `expect` и `actual` декларации для реализации платформ-специфичного кода, при этом сохраняя общую кодовую базу? — ДейлиПреп