docs: function(fn, args, scope) {
              if (!ovy.isArray(args)) {
                  if (ovy.isIterable(args)) {
                      args = arrays.clone(args);
                  } else {
                      args = args !== undefined ? [args] : [];
                  }
              }
  
              return function() {
                  var fnArgs = [].concat(args);
                  fnArgs.push.apply(fnArgs, arguments);
                  return fn.apply(scope || this, fnArgs);
              };
          }