This reminds me of the Haskell language, which goes to great lengths to be "lazy", meaning it tries to avoid doing computations until the last moment.<p>Sometimes it is convenient (e.g. to work with infinite/very large lists), but I've heard that oftentimes it makes the performance very unpredictable, as a CPU spike arrives all of a sudden in the last moment.<p>Anyway, take this with a grain of salt, as I'm still beginning my journey with the language.