Namespace user type definitions to documents
Starting to add templates
Starting to port original Thrift struct code