Fix re-evaluation loop with assignment expression