Generic list in C