> > rather than distinct language constructs.
> No, because the two "use cases" give the language different semantics.
to delay its execution.  With lambdas-as-method-bodies that doesn't hold.
> > transparent "return" (lisp, smalltalk, scala, etc).
> for control structures unnecessary).
Macros and transparent lambdas are incomparable in expressive power.
> don't have long return, at least not by default.
> > not the best way to increase the flexibility of the language.
> > lambdas in the sense defined there.
> function, where "function" does not necessarily imply "closure".
> outer lexical environment, final local variables).
classes are neither lambdas nor full closures.
> collection and the body of a user-defined control structure.
or not (void result type).