ADTs
The representation and the operations are packaged together
- The representation and implementation details are encapsulated and hidden from clients
An ADT is a kind of module, but one that (usually) allows clients to instantiate multiple instances of the ADT
Ada packages, Modula modules, etc.