compose applies functions right-to-left: the last function runs first.
// dirty — manual nesting
const result = double(addOne(square(x)));
// clean — compose
const transform = compose(double, addOne, square);
transform(3); // double(addOne(square(3))) = double(addOne(9)) = double(10) = 20Implement compose(...fns) that returns a function applying the array of functions right-to-left.
solve(x, label) dispatches to a predefined composition:
'double_addOne' → compose(double, addOne)'square_double' → compose(square, double)'addOne_square_double' → compose(addOne, square, double)Sample tests