function compressOneArgFnArray(fns) {
  var errmsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'You must pass me an array of function';

  if (!isArray(fns) || fns.length < 1) {
    throw new TypeError(errmsg);
  }
  if (fns.length === 1) {
    if (!isFunction(fns[0])) {
      throw new TypeError(errmsg);
    }
    return fns[0];
  }
  return fns.reduce(function (prev, curr) {
    if (!isFunction(curr) || !isFunction(prev)) throw new TypeError(errmsg);
    return function (value) {
      return bind$1(curr, this)(bind$1(prev, this)(value));
    };
  });
}
function compressOneArgFnArray(fns) {
  var errmsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'You must pass me an array of function';

  if (!isArray(fns) || fns.length < 1) {
    throw new TypeError(errmsg);
  }
  if (fns.length === 1) {
    if (!isFunction(fns[0])) {
      throw new TypeError(errmsg);
    }
    return fns[0];
  }
  return fns.reduce(function (prev, curr) {
    if (!isFunction(curr) || !isFunction(prev)) throw new TypeError(errmsg);
    return function (value) {
      return bind$1(curr, this)(bind$1(prev, this)(value));
    };
  });
}
function compressOneArgFnArray ( fns ) { var errmsg = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : 'You must pass me an array of function' ; if ( ! isArray ( fns ) || fns . length < 1 ) { throw new TypeError ( errmsg ) ; } if ( fns . length === 1 ) { if ( ! isFunction ( fns [ 0 ] ) ) { throw new TypeError ( errmsg ) ; } return fns [ 0 ] ; } return fns . reduce ( function ( prev , curr ) { if ( ! isFunction ( curr ) || ! isFunction ( prev ) ) throw new TypeError ( errmsg ) ; return function ( value ) { return bind$1 ( curr , this ) ( bind$1 ( prev , this ) ( value ) ) ; } ; } ) ; }
Compress many function into one function, but this function only accept one arguments;
@param {Array<Function>} fns the array of function we need to compress into one function
@param {string} errmsg When we check that there is something is not function, we will throw an error, you can set your own error message
Compress many function into one function but this function only accept one arguments ;