f = (a) ->
x = [.. for a]
y = [.. for a]
currently compiles to:
f = function(a){
var x, res$, i$, x$, len$, y;
res$ = [];
for (i$ = 0, len$ = a.length; i$ < len$; ++i$) {
x$ = a[i$];
res$.push(x$);
}
x = res$;
return y = (function(){
var i$, x$, ref$, len$, results$ = [];
for (i$ = 0, len$ = (ref$ = a).length; i$ < len$; ++i$) {
x$ = ref$[i$];
results$.push(x$);
}
return results$;
}());
};
Can we kill that useless closure?