Source: https://info-llg.fr/commun-mp/pdf/02.recursivite.pdf