 
 _emptyFn = ()->
 
-cutFlowsByArity = (flowFns, arity)->
-  debug 'cutFlowsByArity  ', arity     
-  for fn, inx in flowFns
-    debug 'fn.length', fn.length
-    if not _isArray(fn) and fn.length is arity
-      return flowFns[inx..] 
-  return []
+# cutFlowsByArity = (flowFns, arity)->
+#   debug 'cutFlowsByArity  ', arity     
+#   for fn, inx in flowFns
+#     debug 'fn.length', fn.length
+#     if not _isArray(fn) and fn.length is arity
+#       return flowFns[inx..] 
+#   return []
 
 unifyErrors = (errors)->
   errs = errors.filter (err)-> err 

  return fns
  

_fn.retry = (tryLimit, fn)->
  return (args..., outCallback)->
    debug 'fnRetry'

  argsToCall = args
  argsToCall = [err].concat args if fn.length is errorHandlerArity
  try
    fn argsToCall..., _goNext
  catch error
    _goNext error
     

_fn = {}

_validating = (fns)->
  _valid = (arr)->
    for item in arr
      if _isArray item
        _valid item
      else
        throw new Error 'item of ficent flow must be function or array' unless _isFunction item

  _valid fns
 
_fn.join = (strict = true)->
  errors = []
  results = []
