Would you be open to allowing annotations on fields names be recognizable by bson to support shortened names and anonymous fields?

Go supports a nice serialization feature where you can provide an additional name for the members.

birthDate int json:"bd"

The benefit is you can use meaningful names in the structures and code, but serialization can be significantly smaller. For mongo, it is not so much about performance as size of the objects. A similar approach could be elegant and a potential big size savings:

struct Person {
  @MongoName("ar") AcquiredRetired acquiredRetired;
  @MongoName("bd" Date birthDate;
  @MongoName("dd") Date deathDate;
  @MongoName("rd") Date retirementDate;
}

struct RealizedFlows {
  @MongoName("if") @MongoOmittable() TimeSeries[string] incomeFlows;
  @MongoName("ef") @MongoOmittable() TimeSeries[string] expenseFlows;
}

Would this be something you would be open to being added?

Thanks
Dan