anchor.diff:      /// The Math object allows you to perform mathematical tasks.
       let EcmaMath =
           let D = T<double>
  -        let DN = EcmaNumber + T<double>
  -        let F = DN ^-> D
  +        let F = D ^-> D
           Class "Math"
           |+> Static [
                   "E" =? D
  
positive.code:                 "lastIndex" =@ T<int>
              ]
          |+> Static [
                  Constructor(Str * !?Str?flags)
              ]
  
      /// The String object is used to manipulate a stored piece of text.
      let EcmaString =
          let REStr = EcmaRegExp + Str
          Class "String"
          |=> EcmaStringT
          |=> Inherits EcmaObjectT
          |+> Instance 
              [
                  "charAt" => T<int->string>
                  "charCodeAt" => T<int->int>
                  "concat" => !+ Str ^-> T<string>
                  "indexOf" => Str * !?T<int>?pos ^-> T<int>
                  "lastIndexOf" => Str * !?T<int>?pos ^-> T<int>
                  "localeCompare" => T<obj> ^-> T<int>
                  "match" => REStr ^-> T<string []>
                  "replace" => REStr * Str ^-> T<string>
                  "search" => !?EcmaRegExp ^-> T<int>
                  "slice" => T<int>?startPos * !?T<int>?endPos ^-> T<string>
                  "split" =>
  
negative.code:                 "toString" => T<unit->string>
                  "toLocaleString" => T<unit->string>
                  "valueOf" => T<unit->obj>
                  "hasOwnProperty" => T<string> ^-> T<bool>
                  "isPrototypeOf" => T<obj->bool>
                  "propertyIsEnumerable" => T<string> ^-> T<bool>
                  "" =@ a |> Indexed T<string>            
                  "self" =? T<obj> |> WithGetterInline "$this"      
              ]
          |+> Static [
                  ObjectConstructor T<unit> 
                  Constructor (!|(T<string> * a))?nameValuePairs |> WithInline "$wsruntime.NewObject($nameValuePairs)"
                  "prototype" =? T<obj>
                  "create" => T<obj>?proto * !?T<obj>?properties ^-> T<obj>                
                  "getPrototypeOf" => T<obj> ^-> T<obj>
                  "getOwnPropertyDescriptor" => T<obj->obj>
                  "defineProperty" => T<obj*string*obj->obj>
                  "defineProperties" => T<obj*obj->obj>
  