> Сначала ты пишешь простую сумму типов для представления состояния мотора. Потом произведение этих состояний как суммарный статус моторов девайса. Затем ты понимаешь что тип состояния мотора это моноид с нулём в «со мной всё ок, но я ничего не делаю». Затем ты понимаешь что если тип произведение сделать полиморфным, то компилятор сможет вывести ему Foldable и можно будет узнать суммарный статус всех моторов библиотечной свёрткой. ЭТО ЖЕ ЛОГИЧНО! Затем ты выдыхаешь, время возвращается к привычному темпу и ты понимаешь что ты хочешь ещё этой травы.