Типи даних можна складати, множити й навіть підносити до степеня майже так само, як числа. 

Андрій Севастьянов пояснює, чому ця аналогія працює, як із неї виростають суми й добутки типів, Unit, Void, рекурсивні типи та GADT, і як математика допомагає краще зрозуміти системи типів у сучасних мовах програмування.

 [https://dou.ua/goto/qJXn](https://dou.ua/goto/qJXn)