Hmmm, this works:
public string Description { get; set; } = ""
public string? Desc { set { Description = value; } }
Mapping initializers? I'm finding it hard to call it post-processing :)
As a bonus, Desc
does not have a getter so no one besides you would know it exists.
It's a slippery slope, but it makes multiple "aliases" for the same property possible.