code: function getKeys (o) {
              switch(typeof o) {
                  case 'object':
                      return o ? Object.keys(o) : [];
  
                  case 'string':
                      var keys = [];
                      for(var i = 0; i < o.length; i++) keys.push(i.toString());
                      return keys;
  
                  default:
                      return [];
              }
          }
docs: IE doesn't allow Object.keys on primitive types...
  @return {Array<String|Number>}