My first personal computer, many (many!) years ago, was a Z-80 based Vector Graphics 3 maxed out with 56 KB (that's kilobytes) of RAM. The Vector ROM-based assembler could not generate 8080 code, so I purchased the M-80 assembler ($400!!) from Micro Soft (as it was then known), which advertised a library to generate either Z-80 or 8080 code from a common source file.
The first time I used the assembler, I was working late at night, and found nothing about the 8080 library in the documentation, which consisted of about 20 single spaced pages poorly reproduced from something printed on a mis-aligned daisy wheel printer. Micro Soft was based in New Mexico, which was 2 hours behind NY, so I figured there might be a chance someone might still be around to answer a question.
My phone call was in fact answered, by a very knowledgeable young man who identified himself only as Bill and, in a voice I would come to recognize many times over the years, explained how the library was fully documented in the source code comments. We had an interesting conversation about the the efficiency and cost-effectiveness of providing documentation in this manner, and when it was appropriate to do so.
I gather Bill no longer works for Microsoft, but it's good to know their tech support is still top notch.