anchor.diff:          Class "NavigatorGeolocation" 
           |+> Protocol ["geolocation" =? Geolocation]
   
  -module LocalStorage =
  +module WebStorage =
       let Storage =
  -        let Storage = Class "Storage"
  -        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>
  -        ]
  +        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 =
  
positive.code:                 TypedArrays.Uint8ClampedArray
                  WebSockets.WebSocket
                  WebSockets.WebSocketReadyState
              ]
          ]
  
negative.code:                 Geolocation.Position
                  Geolocation.PositionError
                  Geolocation.PositionOptions
                  General.BarProp
                  General.History
                  General.Location
  