Implement an :expr/* hierarchy
Rework the context hierarchy

Taking @Bronsa's comments into account, rework the context hierarchy