Removed reflective implementation from CompoundPart after some performance tests.
Removed unnecessary parenthesis from apply method of Field implementation.
* Added collection part.
* Added intersection types to self type declarations.
Refactoring of creation of document parts.