Source: https://www.rocq.inria.fr/axis/modulad/archives/numero-37/Notule-Grenier-37/Notule-Grenier-37.pdf