https://123dok.net/document/zkw6md38-a-theoretical-foundation-for-programming-languages-aggregation.html