Abstract data types for general purposes.