Property merge with `+_` (replaces #1788)

This is just a copy of the #1788 updated with recent code base changes.