I don't think I can do this one - avro wants me to define GACall before GAVariant, because the variant uses the call object (and then throws a compile error)

I added a todo to make the record nested, but I haven't had the time to figure out how to resolve my todo.