aha! you found it! es internally lets you create recursive structures, but externalizing them (right now) causes infinite recursion. we've just about got a framework in place to deal with them appropriately, and they will be supported in 0.7 or 0.75, due later this week and next week, respectively. fyi, here's an even smaller version of the same basic crash: local (x=) { x = @{}; echo $x }