https://123dok.net/document/yj7v42pm-dependent-types-for-an-adequate-programming-of-algebra.html