Provides the basic data structures used by the library and their default implementations.