code: function copy(obj) {
    if (obj == null) {
      return obj;
    }
  
    if (array(obj)) {
      return obj.slice();
    } else if (plainObject(obj)) {
      return clone(obj);
    } else {
      return obj;
    }
  }
docs: gets a shallow copy of the argument