``` struct cmc_collection { enum cmc_collection_type type; // DEQUE, HASHMAP, LIST, STACK, etc const char *key_type; const char *val_type; }; ``` A `cmc_collection` is the common interface to all data structures so that you can differentiate them when storing them on void pointers