It looks like SwiftTUI is only able to support view models on macOS, since @ObservedObject is only available on macOS.
If we supported language level Swift Observation, then SwiftTUI should be able to support view models on any platform.
It looks like it should be feasible to implement using a strategy similar to that found in View+Observable.swift.