Aquí hay una interesante discusión sobre el principio de correspondencia de Tennent , y una breve descripción de Neal Gafter :
El principio dicta que una expresión o declaración, cuando está envuelta en un cierre y luego invocada de inmediato, debe tener el mismo significado que tenía antes de ser envuelta en un cierre. Cualquier cambio en la semántica al envolver el código en un cierre es probablemente una falla en el lenguaje.
¿El lenguaje Groovy sigue este principio?