MVVM and Value types

Hi,

I have a general question regarding MVVM and the recent Value Types “craze” in Swift (even promoted heavily by Apple in WWDC 2015 & 2016, seems justifiable).

How do they fit together? To my understanding, and how I do MVVM, is by having one source of truth - the model layer (classes), which update the VMs (classes too) by binding (via RxSwift or RAC for example), which updates the VC/View layer in turn.

By using value types, even only in the model -where does that source of truth lie? How do you even update a model in one VM, which causes another subscribed VM to the same model to update?

It seems to me that the entire MVVM architecture does not fit Value Types.

Thanks!