Haskell programs are evaluated using non-strict semantics, implemented in GHC using laziness. While laziness has some very nice properties, it can also create some perplexing space leaks. And debugging these space leaks can require seemingly telepathic insight into runtime system. In this talk I'll walk you through the process of debugging a simple (but non-trivial) Haskell program with memory troubles.