Summary After Four Months with Ada
Having separate module interface and module body files, as in Ada or Modula-2&#x2F;3, is a great idea that sadly a lot of people are burnt out on because C and C++ do this in a very unprincipled way.<p>Having a terse little file where I can scan the interface of a module, rather than having to scroll through the implementation and see which declarations have `public` in front of them, is a great way to quickly refresh your mental model of a module&#x27;s API.<p>And it allows you to have both interface docstrings and implementation docstrings, which a documentation generator could use to compile an API guide for clients and a developer&#x27;s guide for people working on the internals.