On IRC today the subject of why we don't have a strongly typed class for types rather than trees came up. I did work on a prototype for this back in 2016/2017, but then got sidetracked by ranger.  It exists in an SVN branch and I briefly looked at resurrecting the patches a while ago and refitting them for trunk, but have not gotten back to it yet.  I have the patches on one of my machines too. If there is interest, we could consider resurrecting it for GCC 15 stage 1...   but regardless, I'll post the original PDF document here in case anyone is interested in how it worked.. back then anyway. Andrew