Consider this TypeScript program:

```
const entries = (obj) => {
 let result = [];
 for (const key in obj) {
 result.push([key, obj[key]]);
 }

 return result;
}

const getProperty = (obj, key) => {
 return obj[key];
};

const banana = {
 fruit: 'banana',
 color: 'yellow',
 size: 12,
};

const entriesArr = entries(banana);
// ^?
// goal: const entriesArr: (string | number)[][]

const size = getProperty(banana, 'size');
// ^?
// goal: const size: string | number
// extra credit: const size: number

console.log(entriesArr, size);
```

Update the `entries` and `getProperty` functions such that TypeScript properly recognizes the outputted types. See the `goal` comments for the expected typehint.
user