anchor.diff:              |> WithComment "Determine if the callbacks list has been locked."
   
               "remove" => (!+ T<obj> ^-> T<unit>) ^-> Callbacks
  -            |> WithComment removeComment
  +            |> WithComment "Remove a callback or a collection of callbacks from a callback list."
   
               "remove" => Type.ArrayOf (!+ T<obj> ^-> T<unit>) ^-> Callbacks
  -            |> WithComment removeComment
  +            |> WithComment "Remove a callback or a collection of callbacks from a callback list."
           ]
           
       let Assembly =
           Assembly [
               Namespace "IntelliFactory.WebSharper.JQuery" [
                    Callbacks
  -                 RequestTypeClass
  -                 DataTypeClass
  +                 RequestType
  +                 DataType
                    PromiseClass
                    Deferred
                    JqXHRClass
                    Position
                    AnimateSettings
                    AjaxSettings
  -                 EventClass
  +                 Event
                    JQueryClass
                    FX
               ]
  
positive.code: 
      let JQ = Type.New()
  
      // TODO: Where to define??
      let Error = Type.New ()
      // TODO: Where to define???
      let XmlHttpRequest = Type.New ()
  
      // Event
      let Event = Type.New()
      let EventClass =
          Class "Event"
          |=> Event
          |+> Instance
                  [
                      "currentTarget" =? T<Dom.Element>
                      "absurd" => T<Dom.Node> ^-> T<unit>
                      "delegateTarget" =? T<Dom.Element>
                      "data" =? T<obj>
                      "isDefaultPrevented" => T<unit->bool>
                      "isImmediatePropagationStopped" => T<unit->bool>
                      "isPropagationStopped" => T<unit->bool>
                      "namespace" =? T<string>
                      "pageX" =? T<int>
                      "pageY" =? T<int>
                      "preventDefault" => T<unit->unit>
                      "relatedTarget" =? T<Dom.Element>
                      "result" =? T<obj>
                      "stopImmediatePropagation" => T<unit->unit>
                      "stopPropagation" => T<unit->unit>
                      "target" =? T<Dom.Element>
                      "timeStamp" =? T<int>
                      "eventType" =? T<obj>
                      "which" =? T<int>
              ]
  
      let RequestType =
          "GET POST PUT DELETE".Split ' '
  
negative.code:     let Callbacks =
          let Callbacks = Type.New ()
          
          Class "jQuery.Callbacks"
          |=> Callbacks
          |+> Static [
              Constructor T<unit>
              |> WithInline "jQuery.Callbacks()"
              |> WithComment "A multi-purpose callbacks list object that provides a powerful way to manage callback lists."
  
              Constructor T<string>
              |> WithInline "jQuery.Callbacks($0)"
              |> WithComment "A multi-purpose callbacks list object that provides a powerful way to manage callback lists."
          ]
          |+> Instance [
              "add" => (!+ T<obj> ^-> T<unit>) ^-> Callbacks
              |> WithComment "Add a callback or a collection of callbacks to a callback list."
  
              "add" => Type.ArrayOf (!+ T<obj> ^-> T<unit>) ^-> Callbacks
              |> WithComment "Add a callback or a collection of callbacks to a callback list."
  
              "disable" => T<unit> ^-> Callbacks
              |> WithComment "Disable a callback list from doing anything more."
  