code: function isWritable(obj, key) {
    var props = Object.getOwnPropertyDescriptor(obj, key)
    return typeof obj[key] === T_UNDEF || props && props.writable
  }
docs: Detect whether a property of an object could be overridden
  @param   { Object }  obj - source object
  @param   { String }  key - object property
  @returns { Boolean } is this property writable?