My first thought when I saw {} was json. This is getting a little further away from tuples, but would it be hard to add named fields to this too like json: auto a = {"foo":12, "bar":"twelve"}; int a_foo = a.foo; string a_bar = a[1]; The std.typecons Tuple!() can do this kind of thing too.