Hi all - I'm looking for some review and commentary on a proposed design for providing built-in Coders for AutoValue classes. There's existing discussion in BEAM-1891  about using AvroCoder, but that's blocked on incompatibility between AutoValue and Avro's reflection machinery that don't look resolvable.
I wrote up a design document  that instead proposes using AutoValue's extension API to automatically generate a Coder for each AutoValue class that users generate. A similar technique could be used to generate conversions to and from Row for use with BeamSql.
I'd appreciate review of the design and thoughts on whether this seems feasible to support within the Beam codebase. I may be missing a simpler approach.