I was thinking of how do Swift allocates in memory value-type objects like structs, enums etc that conforms to some protocol. Like I always thought - types that conforms to some protocol should have same size of allocated memory in way to generalise all possible types that will be conformed to protocol. Such like reference-like values stored in memory like one reference to generalise objects by protocols or by custom class hierarchy. And I think value-types objects should allocates the same way to generalise all protocol-conformed value-types. Because of each one of protocol-conformed structs, enums... would have a different size of needed memory.
Hope someone can explain me that moment, thanks!