DOM combinator library in Haskell