Type provider to generate an MVVM style ViewModel directly from an idiomatic F# module