just think this pollutes the public api, since you would never expect the user to ever call it