S06 "Temporization", along with 'temp' variables, defines a TEMP block.
Do we really need such a thing? It appears to be a LEAVE block with another level of indirection. Hmm, that is, the body of the TEMP block executes at its normal place at run-time, unlike the episodic blocks it resembles; the return value is appended to the LEAVE trait. It seems difficult to generate a closure at run time (as opposed to just cloning one specified at compile time), so I wonder why you would need to do that. It also makes me think about traits on cloned closures or specific instances of routines. But again, I don't think we really need to have individual instances of routines have their own traits distinct from the Routine object itself, since you can accomplish that using variables subject to cloning within the closure in the trait (e.g. the LEAVE trait). In short, can we drop TEMP {{ $next = $curr }} ?