anchor.diff:                      onMouseClick (fun _ -> ClearCompleted)]
                   [ text "Clear completed" ] ]
   
  +let inline onInput x = onEvent "oninput" (fun e -> x (e?target?value :?> string)) 
   let todoHeader model =
       header
           [attribute "class" "header"]
  
positive.code: 
      let model' =
          match msg with
          | AddItem ->
              let maxId =
                  if model.Items |> List.isEmpty then 1
  
negative.code:                     attribute "id" "new-todo"
                      property "value" model
                      property "placeholder" "What needs to be done?"
                      onInput (fun x -> ChangeInput x)
                      onKeyup (fun x ->
                          if x.keyCode = 13
                          then AddItem
                          else NoOp) ]]
  let listItem item =
      let itemChecked = if item.Done then "true" else ""
      let editClass = if item.IsEditing then "editing" else ""
  