My instincts are against leaky abstractions. You can't forget JS when using Elm, and you have to worry about the bridge. Why not just take the excellent MVU architecture and implement it in TS? Also I have a personal taste for curly brackets. Irrational I know.
1