After having recently used this combination, I am in love with it. For those unfamiliar with any of these, here are quick one liners:
Foo, you can’t just assign an object literal that resembles a
Foo instance as the compiler has no way of knowing what it exactly is. So you’re stuck with having to create a new
Foo, assign all the properties, and so on. I wish they would introduce object initializers. That would be gravy.
All this aside, if you are contemplating building rich web frontends, I strongly recommend this combination.