Source: https://www.rocq.inria.fr/axis/modulad/archives/numero-18/desbois-18/uneintroduction.pdf