I hope things are well with you!
I was wondering if it would be possible to add an extra type template parameter to all expressions that acts as a "name" for them. What I mean is that instead of
blaze::Vector<VT, TF> there would be a
blaze::Vector<VT, TF, Tag>. The reason for this is we have several different vectors that we use Blaze as the ET implementation for. However, they different vectors should not be mixed in expressions since they represent fundamentally different data. For example, we have a vector for the solution in physical space and a different vector for the solution in spectral space. We want to have the expressions carry this information as a template parameter so that they cannot accidentally be mixed together. This would be a huge win for us, but I'm not sure how easy/difficult it would be to implement. I realize it would be a fairly extensive change but is this something you would consider useful? We could help with the change, but would rather not do it if it's not something that would be welcome upstream. Let me know what your thoughts are on the matter :)