General rule:
- Use TypeSet when collection elements should be unique and order doesn't matter
- Use TypeList otherwise
Special considerations:
- If the argument needs to be optional and computed, only TypeList is supported (probably)
- For configuration blocks where there can be only one, use TypeList MaxItems 1 to simplify things in the code/testing