Also, the code of a test could be used as the documentation. Just recently I started using bleve(https://github.com/blevesearch/bleve). Documentation is quite poor, but I was able to learn the product entirely from the code of its unit tests. That's not normal though.