I can tell that were plenty of libraries doing that in the 2000's, back when it was common to write enterprise software in C.
Plenty of abstraction possible using TU as modules, and applying Abstract Data Types design, while following Yourdon structured method with C.