Рекурсивная обработка значений jsonb_populate_record(set)

Сейчас функции jsonb_populate_record и jsonb_populate_recordset для поля композитного типа или массива, ожидают в исходном JSON’не встретить строку, куда соответствующее значение было сериализовано обычной output функцией. Но при этом значение композитного типа функцией to_json преобразуется в JSON объект, а массив – в JSON массив. Таким образом, функция jsonb_populate_record не является обратной по отношению к to_json, что не удобно.

Нужно сделать, чтобы когда поле композитного типа или массив сериализованы в объект или массив JSON соответственно, то jsonb_populate_record работал рекурсивно, т.е. Десериализовывал соответствующие значения из JSON.