++ optimize tracing code, still too much overhead
++ use NULL instead of a sentinal node in skiplist and list
+- make interfaces for all data structures consistent
++ make list and skiplist use string keys
++ optimize integer keys
+- sl_free() ll_free() ht_print()