This package is young; the intent is to provide basic assertions to ensure data integrity. \emph{N.B. The behavior of this package changed in version 1.0.0---% \ref{_assert_} now properly fails on non-match, not match.} The \ref{_assert_} template generates a~generic assertion using the provided predicates. If the predicates provided to the assertion fail (yields $\bot$), the system immediately terminates.\footnote{ Beacuse the system stops processing once a terminating classification yields~$\top$, only one assertion will ever match, even if others would match if execution were to continue.} \ref{_assert_} implements assertions by genearting two classifications---% one to perform the actual assertion, and a terminating classification to ensure that the assertion yields~$\top$.
There is currently one standard assertion---\ref{_fail-on-empty_}. \ref{_fail-on-empty_} terminates if \ref{_fail-on-empty_/@name@} is zero, subject to \ref{_fail-on-empty_/@when@}, \ref{_fail-on-empty_/@class@}, and any other provided predicates. The name of this assertion is likely to change in the future, but a~template will be added in its place providing deprecation notices.