function GetIterator ( obj ) {
    var iterator = obj[$$iterator]();
    if ( Type(obj) !== 'object' ) {
      throw TypeError();
    }
    return iterator;
  }
// not a real shim, but it works
not a real shim, but it works
not a real shim but it works
function GetIterator ( obj ) {
    var iterator = obj[$$iterator]();
    if ( Type(obj) !== 'object' ) {
      throw TypeError();
    }
    return iterator;
  }
function GetIterator ( obj ) { var iterator = obj [ $$iterator ] ( ) ; if ( Type ( obj ) !== 'object' ) { throw TypeError ( ) ; } return iterator ; }
not a real shim, but it works
not a real shim but it works