Convert Assignment to use shared pointers for Expressions (fixes #709).