currently we have hard-coded converters that convert the json response appropriately, e.g. if a field is a vector of strings, jsonlite::fromJSON() will return a list() in case the array is empty and e.g. a character() if it is non-empty.
In principle it would be possible to access the metadata schema (see e.g. here under the "schema" section):
https://test.openml.org/py/docs#/datasets/tag_dataset_datasets_tag_post