Internal types used to represent Elm Html in pure Elm
Text tags just contain text
A node contains the tag as a string, the children, the facts (e.g attributes) and descendantsCount
Custom nodes contain facts (e.g attributes) and a json value for the model
A markdown node contains facts (e.g attributes) and the model used by markdown
Facts contain various dictionaries and values for a node
Tagger holds the map function when Html.Map is used, the tagger should then be applied to events comming from descendant nodes
Type for representing the five kinds of elements according to HTML 5 spec. Used to handle different rendering behavior depending on the type of element.
decode a json object into ElmHtml
Just empty facts
Identify the kind of element. Helper to convert an tag name into a type for pattern matching.
Type tree for representing Elm's Html