[bugfix] yield expression has side effect