This indexer is overcomplicated and doesn't usefully reduce the work the resolver has to do, since we still have to iterate over the complete set of linkage records with this impl. Much simpler to just push "*" or so into the index, and then iterate over them (the values in the index being the defaults names themselves) calling fluid.defaults on each one to look at their contents - that will already perform better than this impl and eliminate all the packing and unpacking involving "=>" which creates a lot of string garbage - we can think about ways to get serious about optimisation when we have our big "performance pass" over Kettle together with the Infusion 2.0 work.