 <p>Because the triple design doesn't prevent you from using a closure, while the alternative approach prevents you from <em>not</em> using closures. Sometimes the external-state design is the simpler approach.</p> <p>For instance, say that you're using a <code>for</code> loop to iterate which pages to display in the response to a RESTful query. With external-state-based loops, you can write a function that iterates pages based on a table representing the state-representational parameters of the query (which you construct from the URL once and reuse for several other functions). With triples, you can iterate with just those values without being forced to wrap it (and every other function like it) in a closure constructor.</p>