Knowing that Ruby libraries used block (lambda) pattern for the past 25-ish years, it was very painful to read through the first 90% of the article explaining all the issues with abusing destructors.
Maybe because first-class support for lambdas was added too late in C++ and Java, or maybe because it was always PITA to type.
Ruby syntax is the lightest there could be (and it supports both {braces} and do/end keywords)
transaction do
foo()
bar()
end