`humanize_list` accepts any value that can be coerced to a string for the last list item
Metadata
Current evaluation
No evaluation has been recorded for this issue yet.
Issue body
### Bug Description
This should raise a TypeError but it doesn't:
```
>>> craft_cli.utils.humanize_list(['1', 2])
'1, and 2'
```
While this isn't exactly a big deal, it is an unexpected success that can mislead developers.
### To Reproduce
```
craft_cli.utils.humanize_list(['1', 2])
```
### part yaml
```shell
```
### Relevant log output
```shell
n/a
```
Evaluation history
No evaluation history available.