Забыл сказать, что описанное в прошлом посте, реализовано и просто работает.
- Локальный клиент по расписанию собирает дельту и шлёт на сервер.
- Сервер вычитывает очередную пачку данных и кладёт их в табличку базы.
- Локальный клиент умеет возобновлять свою работу с места падения/остановки, хотя этим мало кого сейчас удивишь.
- С фантомом on-demand интеграция работала 8 секунд, с servant-client - 2 секунды, сейчас данные достаются из кэша за менее, чем секунду. И это успех.
- Обновил весь проект до GHC 8.4.3. Побочный эффект апгрейда: Снойман сделал меня мейнтейнером пакета yesod-fay, которым помимо меня пользуется ещё полтора человека. И это тоже успех, хоть и сомнительный.
Надо сформировать новый сериал. О работе пока не буду писать.