The empty dictionary is obtained with plist_dictionary_empty(). This is distinct from the NULL pointer previously used to represent it.
Added plist_list (plist for short, very unfortunate name) which is a functional singly linked list data structure. This has a plist_list_as_reversed_array function which will be used in the parser.