One problem is that Typescript does not know how many elements are in ...otherElements: any[]. It cannot guarantee that makeSomething3 elements will be sent, although the element type ( any) will be valid for the arguments.
, , :
function create(element1: number, ...otherElements: any[]) {
const [a, b, c] = otherElements;
return makeSomething(a, b, c)
}
, .., , .
, rest destructure:
function create(element1: number, ...otherElements: any[]) {
const [a, b, c, ...d] = otherElements;
return makeSomething(a, b, c, ...d)
}