I have found the ghcjs documentation very limited. Here is this basic HTML document. 

```css
h1 { font-family: Helvetica; }

p {font-family: Helvetica; color: blue; }
```

```html
<h1>
Hello World
</h1>
<p>
This is my test document.
</p>
```

Is ghcjs just a combinator, basically typing the HTML as an output string? Or does Haskell store a model of DOM somewhere?

My question is about all html tags and CSS, but maybe other tags have different features.