- 
Doubly-Linked Lists — linked lists that can be iterated over in both directions
- 
Singly-Linked Lists — linked lists that can be iterated in one direction
- 
Double-ended Queues — double-ended queue data structure
- 
Sequences — scalable lists
- 
Trash Stacks — maintain a stack of unused allocated memory chunks
- 
Hash Tables — associations between keys and values so that
    given a key the value can be found quickly
- 
Strings — text buffers which grow automatically
    as text is added
- 
String Chunks — efficient storage of groups of strings
- 
Arrays — arrays of arbitrary elements which grow
                    automatically as elements are added
- 
Pointer Arrays — arrays of pointers to any type of data, which
                    grow automatically as new elements are added
- 
Byte Arrays — arrays of bytes, which grow automatically as
                    elements are added
- 
Balanced Binary Trees — a sorted collection of key/value pairs optimized
                    for searching and traversing in order
- 
N-ary Trees — trees of data with any number of branches
- 
Quarks — a 2-way association between a string and a
                    unique integer identifier
- 
Keyed Data Lists — lists of data elements which are accessible by a
                    string or GQuark identifier
- 
Datasets — associate groups of data elements with
                    particular memory locations
- 
GVariantType — introduction to the GVariant type system
- 
GVariant — strongly typed value datatype
- 
GVariant Format Strings — varargs conversion of GVariants
- 
GVariant Text Format — textual representation of GVariants