With opaque pointers, the bitcast might be a no-op, and this can end up trying to replace a value with itself, which is illegal.
With opaque pointers, the bitcast might be a no-op, and this can end up trying to replace a value with itself, which is illegal.