18. In Java and similar languages that use reference variables instead of pointers, why does the presence of a class hierarchy, with all classes descending from the class object, not require the same sort of work around as the void* type in C and C++ ? 19. What is the reasoning behind not allowing casting and coercion in languages that disallow them? What is lost when both casting and coercion are disallowed? 20. Define what a comprehension is in languages such as Haskell and Python..