The schema is a one we inherit from ARN. The original version of this SDK did autorest to generate the types, but this left a lot of bad types in here.
Specifically a lot of pointers to basic types (which kill the garbage collector), pointers to structs that weren't needed, a lot of interfaces that should have been basic types.
If you are the SDK team, you may need to resort to this because there are too many version changes to keep up with by hand. Unfortunately, instead of having something like proto where you can make fixes to these things in a single place (the proto representation), this all comes from swagger.
I made the decision to leave autorest because it will be better for all users and I expect ARN team to keep these definitions up to date. Changes should be minor or one time changes when you get a new schema version (which will probably just be added fields).