Yeah, but now might be the time to change that! This is a known, well-understood, and solved parsing problem. We can totally do it!
At my company, we're building lots of little services and its really, really handy to have the schema right up next to the code. We deal with a lot of thrift and while we understand the compilation step, it turns out to really nice to have the protocol Right There while you're working. Especially, if you're still tweaking it. We're hitting the desire/need for mutual recursion way before we're hitting a spot where genavro makes real sense for us. (Maybe others have different experiences?)
And making mutual recursion would be a huge boon for anyone who doesn't want to deal with the genavro step, too. I know a lot of folks that have come on board just because we make it easy to play with Avro and push it to its limits quickly. I wouldn't want to take that away and say "use this thing that you'll have to make part of your build and then get all the file path stuff right and have to think" when all they want to do is see how far they can push it.
In any case, I'm going to give this a go in the ruby implementation, and put up a patch. Maybe someone with a similar desire can do it in java or python and see how well it works?
As the apps grow, genavro makes total sense! But I'd hate to limit wonderful, powerful ideas to it that are, while not trivial, totally doable at every level. How nice it is to know your idea will always work, no matter how you interact with avro.