Your comment is somehow similar to my opinion.<p>The author simply states that when mixing imperative features like exceptions in a FP languages, sooner or later something is going to be broken, that wouldn&#x27;t be in a pure FP language. The example given with the exceptions in a lazy value&#x2F;variable is great for showing us that ! Who wouldn&#x27;t forget that a Try&#x2F;Catch block in a lazy val&#x2F;var would be useless (because it would only throw the exception when evaluating the val&#x2F;var) ?<p>And I agree, pure FP has a lot of benefits, the problem is that is too hard to create a real system in a pure FP approach. So we often make compromises to get things done. I use Scala everyday (and used to develop in Java) and I&#x27;m aware of that. Nevertheless, I can avoid a lot of problems comparing to Java imperative&#x2F;OO approach.<p>I see this post more as a reminder that when using impure FP you still have to be careful about some tricky features