throws = thunk => {
  try {
    thunk();
    return false;
  } catch (er) {
    return true;
  }
}
Exported for convenience of unit testing. Harmless, but not expected
to be useful by itself.

@param {any} obj
@param {string|symbol} prop
@param {any} expectedValue
@returns {boolean}
Returns whether `tameFauxDataProperty` turned the property in question
from an apparent faux data property into the actual data property it
seemed to emulate.
If this function returns `false`, then we hope no effects happened.
However, sniffing out if an accessor property seems to be a faux data
property requires invoking the getter and setter functions that might
possibly have side effects.
`tameFauxDataProperty` is not in a position to tell.