Provides interfaces for implementing abstract data types in matrix. Dictionaries, priority queues, etc. are all considered to be abstract data types in matrix. In general, all sets for which there is a well-defined group of different operations, including some kind of add and remove operations, can be considered CDTs. This is different from trees or graphs that can dynamically change size and content.