current_value メソッドが常に進行することを システムが保証しないならば, いくつかの可能な work around が 存在する. それらの work around はどれも自然, 一般的でない.
多くの言語は明示的にメソッドを serialize しないことを 明示するアドホックなコンストラクトをサポートしている [8], [27], [28] (もしくは, 同値だが, いくつかの言語 [5], [7] はデフォルトでは 一つのオブジェクトへの複数のメソッドを serialize せず, メソッドが serialize されることを明示する方法を提供している). ひとたび明示された時には, メソッドがオブジェクトの一貫性のない 状態を決して読まないようにすることはプログラマの責任である. 幸運にも, 上の例では, current_value が serialize しない ことを明示することでうまくいく. なぜならば, マシン命令レベルでは, current_value メソッドはおそらく原子的なロード 命令によって value を読むからである. しかし, current_value が二つもしくはそれ以上のインスタンス変数を 読むならば, プログラマはこれら二つの読みだし操作の間に 全く改変がはさまらないことをもはや信頼することはできない. この種の オブジェクトへの保護されないアクセスの安全は良くても 実装依存である.
もう一つの選択肢に, 各緩和ステップを二つのフェーズに分けるものが ある. 最初のフェーズは奇数に番号づけされた場所にあるオブジェクトを 更新し, 二番目のフェーズではそれ以外を更新する. もし オブジェクトのグラフがより不規則であるならば, これはうまく 機能しない. さらに他の work around としては, 各オブジェクトを 二つのサブオブジェクトに分割する. それらの一つは value 変数 へのアクセスを提供する. これは非常に書くのが不便で, 非効率的である.