Credit due to Chris Nicholson-Sauls.
I think this means std.variant in Phobos.
It might be worthwhile to examine the following: http://dsource.org/projects/dmocks/browser/dunit/trunk/dunit/assertions/variant.d http://dsource.org/projects/dmocks/browser/dunit/trunk/dunit/assertions/variant_array.d The former defines yet another Variant; the latter defines a VariantArray that allows iteration as if it were an array of Variants. This only applies to dynamic and static arrays; it doesn't apply to associative arrays. They also reference my runtime traits module, linked for completeness: http://dsource.org/projects/dmocks/browser/reflect/reflect/RuntimeTraits.d
I implemented a rather limited opApply for now, but I'll keep this open while I think of a better solution.
Fixed: http://www.dsource.org/projects/phobos/changeset/2059