anchor.diff:                  OnKeyDown this.handleKeyDown
               ] []
           ]
  +
  +(**
  +The next view is `TodoFooter`. This component just presents some buttons below
  +the Todo list to filter by or change the `completed` property of the Todos.
  +
  +Same as `TodoItem`, notice the component subscribes to some events (like `OnClick`)
  +but instead of containing the logic to react to the event it just runs a callback
  +received from its parent through the `props` object. Remember the state of React
  +components cannot be directly updated, so this is a way to transmit the event to
  +the parent and let it re-render the subtree if necessary. 
  +*)
   
   type TodoFooterProps =
       abstract count: int
  
positive.code:             ]
          ]
  
  type TodoAppProps = { model: TodoModel }
  type TodoAppState = { nowShowing: string; editing: Guid option; newTodo: string }
  
  
negative.code:                 | COMPLETED_TODOS -> todo.completed
                  | _ -> true)
              |> Seq.map (fun todo ->
                  R.com<TodoItem,_,_>(
                      { new TodoItemProps with
                          member __.key = todo.id
  