Many other solutions implement both loop fusion and shortcut deforestation, for instance theano. In PyPy we had this for numpy expressions, we called it &quot;lazy evaluation&quot;, we have temporarily removed it until we achieve more functional parity with upstream numpy