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
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