Which of the following statements about ADTs are true?
a. They specify the values the data type can hold.
b. They specify the operations the data type can perform.
c. They hide the details of how the data type is implemented.
d. They do all of these.