This idea only struck me a few minutes ago, so it is probably worthless, but anyway: One of the places one does not explicitly use a program fragment is in the control portion of a for loop. One still writes: for (var in list) { ... } rather than for var { code to generate list } { ... } or whatever. I realize one can transform from one to the other fairly easily in es, but the discrepancy remains. Alan.