Added more code to help handle expression containing nested assignments.