Is this design pattern of `::Val{}` dispatching evil?

I think I need to make another prototype based on your suggestions @kristoffer.carlsson. I don’t think that I have fully groked all the details/implication here but that should clarify itself when I actually start coding it up! Thanks!