Good question - the reason why we built the library this way was exactly because we find declaring expressions to be more natural than wiring together streams by combinators—which, BTW, Flapjax does support. Far from academic-without-impact, Leo's work was actually directly influential on me—esp. since he worked in PL and I didn't, so much of my initial exposure to reactive programming came from a few projects including his.