(Haskell) Web application server with stateful, type safe user interactions and widget combinators