A few people have mentioned that the flattening process is easier to understand from example diagrams. Now it's possible to generate those diagrams automatically: http://www.cs.berkeley.edu/~megacz/garrows/flattening.examples/ - a