In a discussion about new additions to C++ docs, someone had a question: Should we even be documenting this?
Long-time contributors to Arrow C++ noted that many parts were written without the intention that those APIs would not be used directly. Instead, they were intended as an implementation detail of the high-level bindings (such as Python, R, Ruby, and so on). This made sense early in the project, as I understand it, because the high level bindings had the most potential users and more libraries to collaborate with (for example, PyArrow + Pandas). However, we now have several projects that use the C++ libraries, so this older outlook on C++ as mostly being an internal library no longer makes sense. Which parts of the C++ libraries are considered public? And are we effectively delineating that for our users?