anchor.diff:              "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>
  +            "source" =? Window
  +            "ports" =? Type.ArrayOf(MessagePort)
  +            "initMessageEvent" => T<string> * T<bool> * T<bool> * T<obj> * T<string> * T<string> * Window * Type.ArrayOf(MessagePort) ^-> T<unit>
                   |> Obsolete
           ]
   
  -    let MessagePort =
  -        MessagePortType
  -        |+> Instance [
  -            "postMessage" => T<obj> * Type.ArrayOf(MessagePortType) ^-> T<unit>
  +    do
  +        MessagePort
  +        |+> Instance [
  +            "postMessage" => T<obj> * Type.ArrayOf(MessagePort) ^-> T<unit>
               "start" => T<unit> ^-> T<unit>
               "close" => T<unit> ^-> T<unit>
               "onmessage" =@ MessageEvent ^-> T<unit>
           ]
  +        |> ignore
   
       let Navigator =
           Class "Navigator" 
  
positive.code:             "clearRedo" => T<unit> ^-> T<unit> 
          ]
  
      let WindowProxyType = Class "Window"
      let MessagePortType = Class "MessagePort"
  
      let ErrorEvent =
          Class "ErrorEvent"
  
negative.code:             "NaN" =? T<double> |> WithGetterInline "NaN"
              "Infinity" =? T<double> |> WithGetterInline "Infinity"
              "undefined" =? T<obj> |> WithGetterInline "undefined"
              "eval" => T<string>?expr ^-> T<obj> |> WithInline "eval($expr)"
              "parseInt" => T<string>?str * !?T<int>?radix ^-> T<int> |> WithInline "parseInt($str, $radix)"
              "parseFloat" => T<string>?str ^-> T<double> |> WithInline "parseFloat($str)"
              "isNaN" => T<obj>?number ^-> T<bool> |> WithInline "isNaN($number)"
              "isFinite" => (T<int> + T<float>)?number ^-> T<bool> |> WithInline "isFinite($number)"
              "decodeURI" => T<string>?str ^-> T<string> |> WithInline "decodeURI($str)"
              "decodeURIComponent" => T<string>?str ^-> T<string> |> WithInline "decodeURIComponent($str)"
              "encodeURI" => T<string>?str ^-> T<string> |> WithInline "encodeURI($str)"
              "encodeURIComponent" => T<string>?str ^-> T<string> |> WithInline "encodeURIComponent($str)"
          ]
          |> ignore
  
  module WebWorkers =
  
  