For some of arrow data types like dictionary, struct and map, there is no direct corresponding data types in postgres, user may choose their own approach to do the encoding, for example, we can use json or record for arrow struct with pros and cons.
The idea is to add mechanisms to allow user to customize the encoding by providing their own encoding functions, or trait implementations.