Bag ADT written in C, licensed under a BSD license