AVRO-605 and AVRO-86, reflect, specific and generic are nearly compatible. Records, primitive types, maps and enums now share common representations. AVRO-637 would add arrays. After that I think only some issues with union type dispatch would remain. Then specific and/or generic data could be arbitrarily intermixed with reflect data with ReflectDatumReader and ReflectDatumWriter.