add is written as (a, b) => a + b, and values is [2, 3]. What does add(...values) return?
Explanation
Call spread takes the iterable values 2 and 3 and supplies them as separate arguments, so add computes 5. It expands values at a call site; it is not a rest parameter that gathers incoming arguments in a declaration.