anchor.diff:  
       let mapAppMessage map = function
           | AppMessage.Message msg -> AppMessage.Message (map msg)
  -        | Draw -> Draw
           | Replay (x,messageList) -> Replay (x,messageList |> List.map (fun (id, m) -> id, map m))
   
       let mapProducer map p = mapAction map p
  
positive.code: 
      let render post viewFn app =
          let view = viewFn app.Model
          app.Render post view
          app
  
      let createActions post = List.map (fun a -> fun () -> a (Message >> post))
  
      let requestDraw scheduleDraw = 
          function
          | NoRequest -> 
              scheduleDraw()
              InProgress
          | InProgress -> InProgress
      
      let handleMessage update scheduleDraw post notifySubs message app =
          notifySubs (ActionReceived message)
          let (model, actions) = update app.Model message
  
  
negative.code:     type AppMessage<'TMessage, 'TModel> =
          | Message of 'TMessage
          | Replay of 'TModel*((System.Guid*'TMessage) list)
  
      type Action<'TMessage> = Handler<'TMessage> -> unit
  
  