  static const char* ConvertScalar(PyObject* v, Eigen::half* out) {
    // NOTE(nareshmodi): Is there a way to convert to C double without the
    // intermediate Python double? This will help with ConvertOneFloat as well.
    Safe_PyObjectPtr as_float = make_safe(PyNumber_Float(v));
    double v_double = PyFloat_AS_DOUBLE(as_float.get());
    *out = Eigen::half(v_double);

    return nullptr;
  }
The product receives input or data, but it does
        not validate or incorrectly validates that the input has the
        properties that are required to process the data safely and
        correctly.