Improved union type handling
auto-merge staging into master