I like the koan.
I was working on a closure implementation this weekend. When wondering how to clean up the captured variables in the closure, I realised that the most natural way (to me at least) is effectively to store a 'destructor' pointer in the closure, which is very similar to the idea of a destructors and virtual methods in c++. As such I was enlightened :)