This document discusses the "dark side" of Lambda expressions in Java 8. It notes that while Lambda expressions allow for more concise code, they can make debugging more difficult since the bytecode generated no longer closely matches the source code written. This is due to the JVM remaining oblivious to Lambda expressions. The distance between source code and bytecode is even greater for languages like Scala, JavaScript, and Nashorn, leading to longer, harder to understand call stacks when exceptions occur.