Test‑coverage metrics can hit 100 %, yet critical bugs still slip through. Property‑based testing and type‑driven design show why – and what to do about it| Jezen Thomas