evaluate assignments inside function calls left-to-right. fixes #4990

also, allow assignments inside tuples at parse time, but not after