makeRemotableProto = (remotable, iface) => {
  let oldProto = getPrototypeOf(remotable);
  if (typeof remotable === 'object') {
    if (oldProto === null) {
      oldProto = objectPrototype;
    }
    oldProto === objectPrototype ||
      Fail`For now, remotables cannot inherit from anything unusual, in ${remotable}`;
  } else if (typeof remotable === 'function') {
    oldProto !== null ||
      Fail`Original function must not inherit from null: ${remotable}`;
    oldProto === functionPrototype ||
      getPrototypeOf(oldProto) === functionPrototype ||
      Fail`Far functions must originally inherit from Function.prototype, in ${remotable}`;
  } else {
    Fail`unrecognized typeof ${remotable}`;
  }
  return harden(
    create(oldProto, {
      [PASS_STYLE]: { value: 'remotable' },
      [Symbol.toStringTag]: { value: iface },
    }),
  );
}
Now that the remotableProto does not provide its own `toString` method,
ensure it always inherits from something. The original prototype of
`remotable` if there was one, or `Object.prototype` otherwise.

@param {object} remotable
@param {InterfaceSpec} iface
@returns {object}