> Or because the structure is used outside of linked list contexts
That use case is possible with the particular implementation that is now used by curl:
struct fileinfo {
struct curl_fileinfo info;
struct curl_llist_element list;
};
You can use the payload (struct curl_fileinfo) outside of a list without incurring any overhead.I think one of your other points is more likely, or simply "it was fast enough and we went for more interesting features than for such optimizations".