There is at least one other common type of memory (not counting GPUs) - from `memfiles` (aka mmap, memory views, etc.). It is both more Wild West regulated than stack (in terms of limits - both number of mappings and total size), but also (typically) less Wild West in access rights since people can/do make overt decisions about read-write-execute permissions. (You can do that after the fact with things like `mprotect`, of course, but that is far more rare to see.)
mmaps/memory views share the run-time not compile-time length, and also the usually fixed after creation aspect of the vla/stackarray/arreqs. (There is mremap on Linux, but that is not portable.) Also, Zig has some "every creation proc takes an allocator object handle" kind of pattern. I don't know how much (if any) of this will factor into @HJarausch's design, but it seemed worth mentioning in case he didn't know/it didn't occur to him to consider it.