Dynamic ADTs
Dynamic ADTs are abstract data types with a framework for observation and adaptation. Instances of DADTs can track their history and change their underlying behaviour to better suit their (potential) use. DADTs can be used to implement an ADT with multiple implementations or combine different ADTs into one ADT without the need to create hybrid data structures. They also work as a data profiling mechanism.

Paper: https://www.csd.uwo.ca/~watt/pub/reprints/2007-ilc-dadt.pdf