old_contents: /**
   * Composes single-argument functions from right to left.
   *
   * @param {...Function} funcs The functions to compose.
   * @returns {Function} A function obtained by composing functions from right to
   * left. For example, compose(f, g, h) is identical to arg => f(g(h(arg))).
   */
  export default function compose(...funcs) {
    return (...args) => {
      if (funcs.length === 0) {
        // We weren't given any functions, just return the first passed in arg.
        return args[0];
      }
  
      const last = funcs[funcs.length - 1];
      const rest = funcs.slice(0, -1);
  
      return rest.reduceRight((composed, f) => f(composed), last(...args));
    }
  }
  
new_contents: /**
   * Composes single-argument functions from right to left.
   *
   * @param {...Function} funcs The functions to compose.
   * @returns {Function} A function obtained by composing functions from right to
   * left. For example, compose(f, g, h) is identical to arg => f(g(h(arg))).
   */
  export default function compose(...funcs) {
    return (...args) => {
      if (funcs.length === 0) {
        // We weren't given any functions, just return the first passed in arg.
        return args[0]
      }
  
      const last = funcs[funcs.length - 1]
      const rest = funcs.slice(0, -1)
  
      return rest.reduceRight((composed, f) => f(composed), last(...args))
    }
  }
  
subject: remove semicolons