+ 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 short strings by embedding the data directly in their pointers
++ optimize integer keys