1. Variant record types are not as popular in modern programming languages as they were in the past. For example, Java does not have variant record types. Why do you think variant record types aren’t seen in many modern languages? Can you simulate variant record types in Java? If yes, explain how (and to what extent). If not, explain why not. Please use examples to justify your answer.
2. Many languages support the concept of abstract data types. However, languages seem to have various levels of implementation of this concept. Why do you think these different levels or categories exist?