anchor.diff:     is to take advantage of the full power of [React](https://facebook.github.io/react/) in Fable apps.
      You can also compare the [F# source code](https://github.com/fable-compiler/Fable/blob/master/samples/browser/react-todomvc/react-todomvc.fsx)
      with the [original JS implementation](https://github.com/tastejs/todomvc/tree/gh-pages/examples/react)
  -   to see the advantages of Fable programming. And remember [Fable is also compatible with React Native](http://www.navision-blog.de/blog/2016/08/06/fable-react-native/) for mobile development!
  +   to see the advantages of Fable programming. There's also a port of the [React tutorial](https://github.com/fable-compiler/Fable/tree/master/samples/browser/react-tutorial),
  +   including an express server and hot reloading. And remember [Fable is also compatible with React Native](http://www.navision-blog.de/blog/2016/08/06/fable-react-native/) for mobile development!
   *)
   
   (**
  
positive.code:                     "/active" ==> nowShowing ACTIVE_TODOS
                      "/completed" ==> nowShowing COMPLETED_TODOS
              ])
          // We haven't defined any interface for the router object but we can
          // can still dynamically access its properties with the `?` operator. 
          router?init("/")
  
      member this.handleChange (ev: React.SyntheticEvent) =
  
negative.code:             ]
          ]
  
  (**
  We finish with the `TodoApp` view. This component is the parent of the two previously
  defined components, which are invoked in `render` by calling the `R.com` helper.
  Notice that, among the arguments of `R.com`, we use F# object expressions to build the props.
  
  In the [original JS implementation](https://github.com/tastejs/todomvc/blob/gh-pages/examples/react/js/app.jsx#L28)
  of `componentDidMount` method, we need to take care to preserve the meaning of `this`
  when passing a lambda to another object by using `bind`. Luckily, that's not something
  we need to worry about in Fable :)
  
  Note also we haven't defined an interface for the object returned by `Router`,
  so we just access its `init` method with the dynamic `?` operator.
  *)
  
  type TodoAppProps = { model: TodoModel }
  type TodoAppState = { nowShowing: string; editing: Guid option; newTodo: string }
  
  