I'm wondering what you guys think of adding support for inheritance in avro IDL. We're starting to see unions of different types in our code and they mostly have the same fields. We're basically using unions to do inheritance except that the code that uses it remains cumbersome. The client code needs to do instanceof just to cast to the proper type in order to retrieve a value that is actually present in all types of the union.
It seems like this could be hidden from client by just creating a union of all types extending a parent type defined for a field and generating sources with that type.