Therefore, the caller must be informed about these rules using documentation or tests.
The caller becomes responsible for passing the appropriate data (but not as strict as in Designing with Contracts).