"use strict";
define([], function() {
  return function tco(f) {
    var result, active = false, accumulated = []
    return function accumulator() {
      accumulated.push(arguments)
      if (!active) {
        active = true
        while (accumulated.length) result = f.apply(this, accumulated.shift())
        active = false
        return result
      }
    }
  }
})

@@ -220,16 +220,32 @@
  = true%0A
+        try %7B%0A  
         
@@ -315,16 +315,38 @@
 hift())%0A
+        %7D finally %7B%0A  
         
@@ -360,16 +360,26 @@
 = false%0A
+        %7D%0A
         

make tco fault-tolerant