anchor.diff:      for cssProp in cssList do
         renderCssProp html cssProp
       
  -    html.Append "\"" |> ignore
  +    html.Append '"' |> ignore
   
     | HTMLAttr.Custom (key, value) -> strAttr html (key.ToLower()) (string value)
     | Data (key, value) -> strAttr html ("data-" + key) (string value)
  
positive.code: 
  let private cssProp (html:StringBuilder) (key: string) (value: obj) =
    html.Append key |> ignore
    html.Append ":" |> ignore
    
    match value with
    | :? int as v -> addUnit html key (string v)
    | :? float as v -> addUnit html key (string v)
    | _ -> html.Append value |> ignore
  
    html.Append ";" |> ignore
  
  let private slugRegex = Regex("([A-Z])", RegexOptions.Compiled)
  let inline private slugKey key =
  
negative.code:   | h -> h
  
  let inline private castHTMLNode (htmlNode: ReactElement): HTMLNode =
    if isNull htmlNode then 
      HTMLNode.Empty
    else 
      htmlNode :?> HTMLNode
  
  let renderToString (htmlNode: ReactElement): string =
    let htmlNode = addReactMark (castHTMLNode htmlNode)
    let html = StringBuilder()
  
    let rec render (htmlNode: HTMLNode) : unit =
      match htmlNode with
      | HTMLNode.Text str -> escapeHtml html str
      | HTMLNode.RawText str -> html.Append str |> ignore
      | HTMLNode.Node (tag, attrs, children) ->
        html.Append '<' |> ignore
        html.Append tag |> ignore
  
        let child = renderAttrs html attrs tag
  
        if voidTags.Contains tag then 
          html.Append "/>" |> ignore
        else 
          html.Append '>' |> ignore
          
          match child with
          | Some c -> html.Append c |> ignore
          | None ->
            for child in children do
              render (castHTMLNode child)
  
          html.Append "</" |> ignore
          html.Append tag |> ignore
          html.Append '>' |> ignore
      | HTMLNode.List nodes ->
          for node in nodes do
            render (castHTMLNode node)
  