I just published a post at The Comonad.Reader » Internalized Guarded Recursion for Equational Reasoning which gives a introduction to work I presented at the Haskell Symposium, with a few simple examples of its use.
The post shows how the technique introduced in that paper, “internal guarded recursion,” can be used not only in a lightweight formal way, but just in everyday programming as a “back of the envelope” technique to quickly figure out when recursive functional programs terminate and when they go into infinite loops.
I think the approach is very simple to use, and hope people can come up with lots of classes of examples where it can be helpful.