anchor.diff:  
       type Selector = string
   
  +    /// AppSpecification is a type used as an interface for the renderer
  +    ///
  +    /// - InitState: Initiale state of the model used by the application.
  +    /// - View: Function used to generate the Virtual DOM supported by the renderer.
  +    /// - Update: Function used to support the message in the application.
  +    /// - InitMessage: A function to execute when the app is ready.
  +    /// - CreateRenderer: This function is responsible to convert the Virtual DOM into real DOM.
  +    /// - NodeSelector: Selector used to attach the application in the DOM
  +    /// - Producers: This is a list of function which are able to push message inside the application
  +    /// - Subscribers: This is a list of function to notify when a message is handle by the application
       type AppSpecification<'TModel, 'TMessage, 'TView> =
           {
               InitState: 'TModel
  
positive.code: 
      let createActions post = List.map (fun a -> fun () -> a (Message >> post))
  
      let handleMessage update viewFn post notifySubs message app =
          notifySubs (ActionReceived message)
          let (model, actions) = update app.Model message
  
  
negative.code: 
  [<AutoOpen>]
  module Types =
  
      /// An handler is a function used to send a message in the application.
      type Handler<'TMessage> = 'TMessage -> unit
  
      /// Representation of a change in the model
      type ModelChanged<'TMessage, 'TModel> =
          {
              PreviousState: 'TModel
  