Source: https://ufrsciencestech.u-bourgogne.fr/licence2/ARCHIVES/i3a/CM/Types-Abstraits/tda.pdf