Needs several improvements:
- private alias member for each type/property
- New constructor function sets this to be code-generated default
- Modify deserialize to also accept an @context alias map to override
default if needed.
- Add utility function in root package to turn @context into an alias
map, which will be needed by resolvers.