It seems to me that many of the problems that people have with Rx could be alleviated with FxCop like static code analysis and or visualizers like the concurrency visualizer.
Then again, the last time I tried to use Rx, to solve a seemingly simple problem, I ran through a gauntlet of emotions ranging from inspired, stupid, angry and finally to sad, within a two day span.
Hidden markov models is perhaps not the ideal first topic for your very first Rx program
Brian's code looked very clean though but I didn't have the energy to experiment with it at the time (don't we all have extra hobby projects on the side). One wonders whether it was originally prototyped in Mathematica.