anchor.diff:                  TypedArrays.Uint8ClampedArray
                   WebSockets.WebSocket
                   WebSockets.WebSocketReadyState
  -            ]
  -        ]
  +                WebStorage.LocalStorage
  +                WebStorage.SessionStorage
  +                WebStorage.Storage                
  +            ]
  +        ]
  
positive.code:                 
              "navigator" =? Geolocation.NavigatorGeolocation
              "applicationCache" =? AppCache.ApplicationCache
              "localStorage" =? LocalStorage.Storage
              "alert" => T<string> ^-> T<unit>
              "confirm" => T<string> ^-> T<bool>
              "prompt" => T<string> ^-> T<string>
  
negative.code:         Class "NavigatorGeolocation" 
          |+> Protocol ["geolocation" =? Geolocation]
  
  module WebStorage =
      let Storage =
          Interface "Storage"
          |+> [
                  "clear"      => T<unit>
                  "getItem"    => T<string>
                  "item"       => T<string>
                  "key"        => T<string>
                  "length"     =? T<int>
                  "removeItem" => T<unit>
                  "setItem"    => T<unit>            
              ]
  
      let LocalStorage =
          Class "LocalStorage"
          |=> Implements [Storage]
          |+> Protocol [
                  "clear" => T<unit> ^-> T<unit>
                  "getItem" => T<string> ^-> T<string>
                  "item" => T<string> ^-> T<string> |> WithInline "$this[$1]"
                  "key" => T<int> ^-> T<string>
                  "length" =? T<int>
                  "removeItem" => T<string> ^-> T<unit>
                  "setItem" => T<string> * T<string> ^-> T<unit>
              ]
  
      let SessionStorage =
          Class "SessionStorage"
          |=> Implements [Storage]
          |+> Protocol [
                  "clear" => T<unit> ^-> T<unit>
                  "getItem" => T<string> ^-> T<string>
                  "item" => T<string> ^-> T<string> |> WithInline "$this[$1]"
                  "key" => T<int> ^-> T<string>
                  "length" =? T<int>
                  "removeItem" => T<string> ^-> T<unit>
                  "setItem" => T<string> * T<string> ^-> T<unit>
              ]
  
  module AppCache =
      let ApplicationCache =
  