This is a bit off topic... I've looked at the source but can't quite figure it out. How does ArgumentParser know the name of the property when it creates the argument? I have a similar need, where this would be very useful.
I'm not sure but around here might be a point. It uses Reflection and Codable.