Объединить работу над темами и типами в одну ветку

В ходе решения задач #62, #103 понял, что многие правки будут связанными, потому что каждая ветка взяла на себя слишком большую задачу. Придётся их объединить, чтобы потом не было слишком жестоких конфликтов. Основным сложным местом является переделка модели на модули-сущности в задаче про темы, тогда как в типах мне нужно переделывать модель упражнения на использование типов.