Тут ребе
xeno_by подогнал совершенно гениальную
статью про ADT. Из которой вы узнаете, что алгебраические типы данных потому и называются алгебраическими, что их можно складывать, перемножать, возводить в степень и даже брать производную, причём эта магия доступна не только гэндальфам вроде
ivan_gandhi, но и простым смертным, и самое интересное - в этом есть практический смысл.
Требуемые знания матана - примерно на уровне десятого класса средней школы.
Enjoy.