Dans un langage pur comme Haskell, toutes les données sont immuables et aucune structure de données existante ne peut être modifiée de quelque façon que ce soit. De plus, de nombreux algorithmes sur les données immuables et les modèles de programmation fonctionnelle génèrent de grandes quantités de déchets par nature (chaînes de map
création de listes intermédiaires par exemple).
Quelles stratégies et techniques les ramasseurs d'ordures utilisent-ils face à la pureté qu'ils n'auraient pas autrement? Qu'est-ce qui fonctionne très bien dans le GC d'un langage impur qui ne fonctionne pas dans un contexte pur? Quels autres nouveaux problèmes les langages purs créent-ils pour les GC?