I am working on a C-based data-structures module and now need a concise, production-ready implementation of linked lists. The scope is limited to the three core operations I will be demonstrating to students and integrating into a larger codebase: insertion, deletion, and traversal. Here is what I expect: • Clean, well-documented C source and header files that compile under GCC/Clang with no warnings. • Straightforward APIs for each required operation so I can drop the code into other projects without refactoring. • A tiny main() test driver that exercises every public function, printing the list before and after each mutation so output correctness is obvious. Keep the solution standard-C (no external libraries) and lay out any compile/run instructions at the top of the README. If you think a singly versus doubly linked approach changes performance or memory significantly, note it in comments; I am open to whichever variant you feel is cleaner.