some refactorings

- improve class name
  - primary_type -> nested_type
  - template_type -> primary_type
- add noexcept properly
improve type classes

- add ctos to use make() properly
- add reference to class scope symbol in class types