Should every part of the library be public, even internal implementation details?
The philosophy: Make all code accessible with clear disclaimers that internals are encouraged for use but likely to change. Ideally consumers wouldn't need them, but making them available is a bold move towards transparency and flexibility.