*Important*: one has to store the values in descending order of size to avoid that a pointer on it is copied byte by byte (because the data is not aligned, if unordered)