Kotlin Object Multiplatform Mapper: сопоставляем коллекции правильно

После публикации первой статьи я получил несколько отзывов и предложений, некоторые из которых взял в разработку. Первый доработкой стал автоматический маппинг коллекций.
Engineering Lead

После публикации первой статьи я получил несколько отзывов и предложений, некоторые из которых взял в разработку. Первый доработкой стал автоматический маппинг коллекций.

Складывается такое впечатление, что дописать свою приложение для Android мне суждено не скоро. Каждый раз начиная писать новую версию (так как старая была написана не до конца, использовалась только мной, а через пару-тройку лет простоя - проще написать заново) своего приложения задуманного еще в 2012 году, я сталкиваюсь с ситуацией, что мне не хватает какого-то функционала и начинаю писать свои библиотеки для этого. В первую попытку это был свой ORM (UcaOrm 1, 2, 3). Во вторую KCron - KMP библиотека, реализующая Cron. И вот, начав следующую итерацию, я вновь в таком же положении. Но обо всем по порядку!

Это был теплый осенний вечер, когда передо мной встала задача "настроить серверное кэширование в сервисе". Казалось бы чего может быть проще, наверняка в Ktor это делается парой строчек кода. Однако реальность оказалась не такой радужной: Ktor предлагает только Cache Headers plugin который, например, не поддерживает распределенное кэширование. Что ж, вооружившись IDE, я начал ваять свой велосипед - Ktor Simple Cache.
Когда моя спортивная сумка, представляющая из себя китайский noname окончательно пришла в негодность, передо мной встала задача покупки новой. В качестве одного из основных критериев отбора, была возможность носить в сумке не только спортивную форму, но и как минимум планшет, а еще лучше ультрабук. На Geektimes есть пара статей о выборе рюкзака для гика (1 и 2). И одна нашлась даже на Habrahabr. Но мне нужна была именно спортивная сумка, а посему открыв великий и ужасный я приступил к поискам.