np.. They are kind of churning in my head anyways. Instead of partially applied Metafunctions, I'm trying out requiring a specialization of different make functions that have constraints on whatever they return.

I was thinking about making a much easier interface to that by using a chain of overloaded functions that worked with my variant that matches using hana::overload_linearly. It could eliminate a lot of boiler plate code. (notice I have visitors using visitors)

One last unrelated thing. WIth that IntegralSequence thing, we could store both the index and the memory offset for each element of that heterogenous storage thing you were talking about. Then a whole series of operations could be done on that metadata and then finally applied to the source tuple to create the target where consecutive blocks would be moved in one operation automatically.

On a completely unrelated note, I decided to organize my project the way Boost.Hana is with 'concepts' and all that.

That's cool. But Hana's concept system was made with Hana in mind, not with arbitrary libraries. I mean it's not a full-fledged concept system. I'm glad if it can be useful to you, I'm just slightly worried that it might not behave as you would expect it to in some subtle cases.

I was thinking about making a much easier interface to that by using a chain of overloaded functions that worked with my variant that matches using hana::overload_linearly.

Do you mean in the Clang snippet you posted above, or in NBDL?

One last unrelated thing. WIth that IntegralSequence thing, we could store both the index and the memory offset for each element of that heterogenous storage thing you were talking about. Then a whole series of operations could be done on that metadata and then finally applied to the source tuple to create the target where consecutive blocks would be moved in one operation automatically.

I'm sorry, but I don't follow you. Can you provide a bit more background info please? (I've been very spread out on projects lately, so I have a hard time context switching back to Hana).

I'm just curious. What are your C++Now talks about?

Both are about metaprogramming. One is an attempt to teach metaprogramming to beginners from the ground up using Hana, and the other one is just a collection of metaprogramming techniques, benchmarks and sharing my experience on Hana. I'll talk about stuff like how to implement heterogeneous algorithms, and possible future directions for implementing tuple, etc..