Combining function types practice

1. Sum and difference function: Takes two numbers as input and returns both their sum and difference.

```typescript
const sumAndDifference = (a: number, b: number): [number, number] => {
return [a + b, a - b];
};

const [sum, difference] = sumAndDifference(10, 5);
console.log("Sum: " + sum);
console.log("Difference: " + difference);
```

2. Average and range function: Takes an array of numbers as input and returns their average and range.

```typescript
const averageAndRange = (numbers: number[]): [number, number] => {
const total = numbers.reduce((acc, curr) => acc + curr, 0);
const average = total / numbers.length;
const min = Math.min(...numbers);
const max = Math.max(...numbers);
const range = max - min;

return [average, range];
};

const numbers = [2, 4, 6, 8, 10];
const [average, range] = averageAndRange(numbers);
console.log("Average: " + average);
console.log("Range: " + range);
```

3. Square and cube function: Takes a number as input and returns both its square and cube.

```typescript
const squareAndCube = (num: number): [number, number] => {
return [num ** 2, num ** 3];
};

const [square, cube] = squareAndCube(3);
console.log("Square: " + square);
console.log("Cube: " + cube);
```