You probably know that, but just to clarify: it's backed by a single array, reallocated repeatedly, just like std::vector in C++ (although growth factors are different, I think).
Just "List" probably risks that some people will jump to the conclusion that it's a linked list. I'd probably prefer the full "ArrayList". Although personally I'd use something like "DynArray"/"DynamicArray".
I've seen projects like this in the past - either you have skilled people and use a strict CSP from the start, or the footguns of dynamiically crafting objects ultimately leads to a bunch of XSS that (probably) wouldn't have happened with mature frameworks
To be fair, a trait gets you 98% there. It can have default implementations for most functions, you just overwrite the ones you want to change.
You'll still need to declare the underlying struct though, so a bit of extra code
Why not have multiple with different strengths for different users, though? Honggfuzz is also really good.
That being said, most distributions replace afl with afl++ these days.
I ended up using it over just because it felt easier to use cross platform, and toml seemed like a right choice