Introduce Traits class for checking whether Tree can be accessed by given TreePath
Summary
This MR adds a Traits/Concept that allows to check that a typetree can be accessed by given index or treepath. This allows to give better diagnostics at compile-time.