Być może głównym źródłem problemów z wydajnością w Haskell jest przypadek, gdy program nieumyślnie tworzy masę nieograniczonej głębokości - powoduje to wyciek pamięci i potencjalne przepełnienie stosu podczas oceny. Klasycznym przykładem jest definiowanie sum = foldr (+) 0
w Haskell.
Czy są jakieś systemy typów, które statycznie wymuszają brak takich udarów w programie używającym leniwego języka?
Wygląda na to, że poziom trudności powinien być taki sam, jak w przypadku innych właściwości programu statycznego przy użyciu rozszerzeń systemu typów, np. Niektórych odmian bezpieczeństwa wątków lub bezpieczeństwa pamięci.