UniqueChars encode(JSContext *cx, HandleValue val, size_t *encoded_len) {
  RootedString str(cx, JS::ToString(cx, val));
  if (!str)
    return nullptr;

  return encode(cx, str, encoded_len);
}
UniqueChars encode(JSContext *cx, HandleValue val, size_t *encoded_len) {
  RootedString str(cx, JS::ToString(cx, val));
  if (!str)
    return nullptr;

  return encode(cx, str, encoded_len);
}