anchor.diff:              "clearTimeout" => T<obj>?timeoutId ^-> T<unit>
           ]
   
  -    let Window = 
  +    do
           let f = Dom.Interfaces.Event ^-> T<unit>
  -        WindowProxyType
  +        Window
           |=> Inherits WindowOrWorkerGlobalScope
           |+> Static [
  -            "self" =? WindowProxyType
  +            "self" =? Window
               |> WithGetterInline "window"
               |> ObsoleteWithMessage "Use JS.Window instead."
           ]
  
positive.code:             "data" =? T<obj>
              "origin" =? T<string>
              "lastEventId" =? T<string>
              "source" =? WindowProxyType
              "ports" =? Type.ArrayOf(MessagePortType)
              "initMessageEvent" => T<string> * T<bool> * T<bool> * T<obj> * T<string> * T<string> * WindowProxyType * Type.ArrayOf(MessagePortType) ^-> T<unit>
                  |> Obsolete
          ]
  
      let MessagePort =
          MessagePortType
          |+> Instance [
              "postMessage" => T<obj> * Type.ArrayOf(MessagePortType) ^-> T<unit>
              "start" => T<unit> ^-> T<unit>
              "close" => T<unit> ^-> T<unit>
              "onmessage" =@ MessageEvent ^-> T<unit>
          ]
  
      let Navigator =
          Class "Navigator" 
  
negative.code:             "clearRedo" => T<unit> ^-> T<unit> 
          ]
  
      let Window = Class "Window"
      let MessagePort = Class "MessagePort"
  
      let ErrorEvent =
          Class "ErrorEvent"
  