Vector layers can consist of single part or multipart layers. What is the reason for creating separate formats for that?
It is perfectly possible to create a multipart layer and still create just one geomtry part per feature. So why the hassle to have a special singlepart type for vector layers? It is often annoying when you have a singlepart layer and want e.g. to merge features that you have to create a new layer for that. So there must be an advantage of having layers that restrict features to be singelpart only.
The question is a general GIS principle question, not software specific. Still, if there is a need for a specific software environment for the question to be specific enough, I'm working mostly in QGIS, using Geopackage layers. But I am interested in a general answer about why two separate types of let's say polygon layers do have to exist.
I am aware of the differences between single part and multipart layers, so the question is not about that but the reason why this has to be represented by two incompatible types of layers.
geometry
column. I expect to work with simple entities and I want to ensure that I store only simple entities. If a tool/function returns a collection, I have to take the extra step to ensure/convert the result to simple entities. If simple/multi were the same datatype, it would be very easy to miss a simplicity validation as my code wouldn't blow up. For example, doing an intersection and indexing the result: the index would silently cover 2 far away parts, making it potentially useless.