code: function getDetailedObjectType(thing) {
    let prototype = Object.getPrototypeOf(thing)
  
    if (!prototype) return NO_PROTOTYPE
  
    return Object.getPrototypeOf(prototype)
      ? COMPLEX_OBJECT
      : PLAIN_OBJECT
  }
docs: Determines which kind of object an "object" is.
  
  Objects can be prototype-less, complex, or plain.