       array:[ (-> @n = 0), functions.repeat 101, functions.incrementBy(12345) ]
     run  : runChain
 
+
+  benchmark 'run() many   inc,  all   defined',
+    setup: basicSetup
+      array:[ functions.repeat 101, functions.incrementMany ]
+      buildContext: -> a:0, b:0, c:0, d:0, e:0, f:0, g:0
+    run  : runChain
+
+  benchmark 'run() many   inc,  all undefined',
+    setup: basicSetup
+      array:[
+        -> @a = 0 ; @b = 0 ; @c = 0 ; @d = 0 ; @e = 0 ; @f = 0 ; @g = 0
+        functions.repeat 101, functions.incrementMany
+      ]
+    run  : runChain
+
+
+  benchmark 'run() many   context temporary',
+    setup: basicSetup
+      array:[
+        functions.repeat(50, functions.empty)
+        functions.context()
+        functions.repeat(50, functions.empty)
+      ]
+      buildContext: -> a:0, b:0, c:0, d:0, e:0, f:0, g:0
+    run  : runChain
+
+  benchmark 'run() many   context permanent',
+    setup: basicSetup
+      array:[
+        functions.repeat(50, functions.empty)
+        functions.contextPermanent()
+        functions.repeat(50, functions.empty)
+      ]
+      buildContext: -> a:0, b:0, c:0, d:0, e:0, f:0, g:0
+    run  : runChain
+
+
+  benchmark 'run() many   next    temporary',
+    setup: basicSetup
+      array:[
+        functions.repeat(50, functions.empty)
+        functions.next()
+        functions.repeat(50, functions.empty)
+      ]
+      buildContext: -> a:0, b:0, c:0, d:0, e:0, f:0, g:0
+    run  : runChain
+
+  benchmark 'run() many   next    permanent',
+    setup: basicSetup
+      array:[
+        functions.repeat(50, functions.empty)
+        functions.nextPermanent()
+        functions.repeat(50, functions.empty)
+      ]
+      buildContext: -> a:0, b:0, c:0, d:0, e:0, f:0, g:0
+    run  : runChain
+
+
+  # add failed/paused/stopped stuff.
+  # add disable/enable stuff.
+
 ]
 
 repeat = do ->

      array:[ (-> @n = 0), functions.repeat 101, functions.increment ]
    run  : runChain

  benchmark 'run() many   inc, n is   defined',
    setup: basicSetup
      array:[ functions.repeat 101, functions.incrementBy(12345) ]

  benchmark 'run() single inc, n is undefined',
    setup: basicSetup array:[ (-> @n = 0), functions.increment ]
    run  : runChain


  benchmark 'run() many   inc, n is   defined',
    setup: basicSetup
