The cargo a ship can carry should be based on volume, so that carrying 30 of one type of ore is the same as carrying 10 different objects and 20 units of ore.
It doesn’t make any sense that you can have a full inventory with 5 different items, yet also carry a dozen ore in a single slot.
Just make cargo a list of items carried, and the space they take up can depend on the item if not default to 1
The item that expands cargo would increase the space instead, say +50%