What’s lazy evaluation about ? Some functional programming languages (like Haskell) offers a functionality called lazy evaluation by default. It consists of defering evaluation of functions to the moment their results are actually used. Instead of results, everything works as if your function call are returning the recipe to compute the actual result. In python, it is actually pretty straightforwa