Раз вы тут развели хаскель, то подскажите по агде. Как мне в ней нормально "наследование" сделать? Например я доказал ряд свойств моноида, теперь хочу в группе их использовать. Я пока только такой путь вижу: описать их как разные дататайпы и задать "забывающее" преобразование из группы в моноид, а потом явно его использовать. Но это не очень удобно
Пытался на модулях что-нибудь придумать, но, как мне кажется, они больше на internal работу расчитаны. Не смог придумать как их заюзать
P.S. Похоже я нашёл что искал —
https://agda.readthedocs.io/en/v2.5.2/language/record-types.html#instance-fields