An abstraction built on unsafe code is sound if no sequence of calls to its safe interface, however unusual, can cause undefined behaviour: the invariants the unsafe code relies on are established and maintained by the abstraction itself, not assumed of its callers.
Quantitative Finance · Glossaire