この記事では、非同期プログラミングにおけるミューテックスの必要性についての矛盾や混乱が語られています。単一スレッドで動作する並行プログラミングの利点の一つは、データ競合が不可能になることです。しかし、コード内である部分が他の並行処理と連携して原子的に実行される必要がある場合、それを明示的に記述する必要があります。このような場合、.await を不適切に挿入することで論理的な競合が発生する可能性があります。著者は、TigerBeetleというシステムに取り組む中で、隠れた排他制御が重要であることに気付きました。特に、ディスク上のデータを圧縮する担当のコードでは、コンカレントなディスク読み込みやCPUサイドのマージが行われます。著者は、明示的な排他制御の原則を適用すると、全体がミューテックスでラップされなければならず、それが複雑になることを指摘しています。最終的には、イベントループにロック取得の処理を移し、再び暗黙のロックAPIに戻ることが賢明であると述べています。