Switch to a different mechanism of complex assignment

The previous one used non-standard complex extensions.