Я много раз читал, что ленивое вычисление в Haskell иногда может приводить к утечке места. Какой код может привести к утечке пространства? Как их обнаружить? И какие меры предосторожности может предпринять программист, чтобы их избежать?