checkRemotable = (val, check) => {
  if (confirmedRemotables.has(val)) {
    return true;
  }
  if (!isFrozen(val)) {
    return (
      !!check && CX(check)`cannot serialize non-frozen objects like ${val}`
    );
  }
  // eslint-disable-next-line no-use-before-define
  if (!RemotableHelper.canBeValid(val, check)) {
    return false;
  }
  const result = checkRemotableProtoOf(val, check);
  if (result) {
    confirmedRemotables.add(val);
  }
  return result;
}
@param {any} val
@param {Checker} [check]
@returns {val is Remotable}