Found through Reddit, maybe this is interesting for Walter, the implementation of "go" and "defer" () in Go language: http://research.swtch.com/2010/03/broken-abstractions-in-go.html A comment by jerf on Reddit: >It isn't "breaking" function calling abstractions, it's using different ones.< Bye, bearophile