cats-stm 中的 TVar 是否需要不可变值?

Does TVar in cats-stm require an immutable value?

Cats-effect 或 Zio 中的 Ref 需要在可变引用上使用不可变值,因为底层 java 来自 AtomicReference 的 compareAndSet,我想知道 TVar 和 cats-stm 是否属于这种情况?

是的,TVar 仍然类似于在命令式代码中使用 var,因此类型应该是不可变的