Handle multi-to-single and single-to-multi property assignments

(and fix tests)