Well, that's a judgement call really: as it stands we can't really get the FTL performance boost for all allocators, but we can trivially provide it for the default, so I split it out. We could potentially make FTL support arbitrary enums, so that users could provide their own enum space to get the boost, but I'm slightly concerned that we'd see a slight penalty for the other uses of FTL as there would be an instance (instead of static) field access. I can try this and see what effect is has on the benchmark. Or we could just not provide the benefit for any allocators, and leave FTL as is. My reasoning here was that the default allocator is probably most commonly used, so giving splitting it was an easy way to give some use cases the performance bump.