Support containers in ABI
The ABI should allow passing containers. This includes at least arrays (single- and multidimentional), maps and multimaps. Lists, sets, hashed maps and so on don't make much sense at ABI level as the container's data gets marshalled as a whole anyway, however, they should be packed and unpacked to (most likely, linear) ABI-side data structures.
Decide the usecases, what containers we need and how they are stored. Obviously, the size and pointer go to the data pack, while the bodies are of variable length and should be moved to the extra data section. The details must be worked in.
Obviously, these containers may be used with elements of different types: arithmeticals, enumerables, objects, structures and other containers.
The maps and sets requre some deep development here, as there is no way the kernel or the other module knows how the module sorts the keys. So, the ways to support adequate packing and unpacking should be found.