In my previous blog post we have discussed the evaluation strategies in Scala and the difference between call-by-value, call-by-name and call-by-need. Also, I have shown a small workaround for evaluating the arguments lazily (aka call-by-need). As previously presented, the workaround for call-by-need arguments consists of local lazy values which are