TrapProxyHandler = (x, trapImpl) => {
  return harden({
    ...baseFreezableProxyHandler,
    get(_target, p, _receiver) {
      return (...args) => trapImpl.applyMethod(x, p, args);
    },
    apply(_target, _thisArg, argArray = []) {
      return trapImpl.applyFunction(x, argArray);
    },
    has(_target, _p) {
      // TODO: has property is not yet transferrable over captp.
      return true;
    },
  });
}
A Proxy handler for Trap(x)

@param {any} x Any value passed to Trap(x)
@param {import('./types.js').TrapImpl} trapImpl
@returns {ProxyHandler}