On 1.2 master: ```python In [15]: import pandas as pd ...: import pyarrow as pa ...: ...: df = pd.DataFrame({'a': pa.scalar(7)}, index=['a']) ...: print(type(df.to_dict(orient="records")[0]['a'])) ...: <class 'pyarrow.lib.Int64Scalar'> ``` This is inconsistent with the corresponding op for NumPy backed types (xref #37571) ``` In [13]: import pandas as pd ...: import numpy as np ...: ...: df = pd.DataFrame({'a': np.int(7)}, index=['a']) ...: print(type(df.to_dict(orient="records")[0]['a'])) ...: <class 'int'> ``` In general we'd like `to_dict` to return Python native types if possible.