docs: function hitchAll(scope) {
      var funcs = Array.prototype.slice.call(arguments, 1);
      if (!isObject(scope) && !isFunction(scope)) {
          throw new TypeError("scope must be an object");
      }
      if (funcs.length === 1 && isArray(funcs[0])) {
          funcs = funcs[0];
      }
      if (!funcs.length) {
          funcs = [];
          for (var k in scope) {
              if (scope.hasOwnProperty(k) && isFunction(scope[k])) {
                  funcs.push(k);
              }
          }
      }
      for (var i = 0, l = funcs.length; i < l; i++) {
          scope[funcs[i]] = hitch(scope, scope[funcs[i]]);
      }
      return scope;
  }