Adding a bunch of documentation
Generalizing all composition defined return types
Adding more docs and generated class docs