There should be a "Safety" section that explains all invariants that the caller is responsible for upholding to use the function correctly. As per [Function docs include error, panic, and safety considerations](https://rust-lang-nursery.github.io/api-guidelines/documentation.html#c-failure).