static RZ_OWN RzType *var_type_clone_or_default_type(RzAnalysis *analysis, RZ_BORROW RZ_NULLABLE const RzType *type, int size) {
	if (type) {
		return rz_type_clone(type);
	}
	const char *typestr = __int_type_from_size(size);
	if (!typestr) {
		typestr = __int_type_from_size(analysis->bits);
	}
	if (!typestr) {
		typestr = "int32_t";
	}
	char *error_msg = NULL;
	RzType *result = rz_type_parse_string_single(analysis->typedb->parser, typestr, &error_msg);
	if (!result || error_msg) {
		eprintf("Invalid var type: %s\n%s", typestr, error_msg);
		free(error_msg);
		return NULL;
	}
	return result;
}
static RZ_OWN RzType *var_type_clone_or_default_type(RzAnalysis *analysis, RZ_BORROW RZ_NULLABLE const RzType *type, int size) {
	if (type) {
		return rz_type_clone(type);
	}
	const char *typestr = __int_type_from_size(size);
	if (!typestr) {
		typestr = __int_type_from_size(analysis->bits);
	}
	if (!typestr) {
		typestr = "int32_t";
	}
	char *error_msg = NULL;
	RzType *result = rz_type_parse_string_single(analysis->typedb->parser, typestr, &error_msg);
	if (!result || error_msg) {
		eprintf("Invalid var type: %s\n%s", typestr, error_msg);
		free(error_msg);
		return NULL;
	}
	return result;
}