Is there a way to achieve the following: import std.stdio; import std.algorithm : uniq; import std.array : array; enum Foo : string { a = "aa", b = "bb", c = "cc" } void main() { auto a = [Foo.a, Foo.b, Foo.a, Foo.b, Foo.c]; auto b = a.uniq; writeln(b); // Expected output: [a, b, c] // Outputs: [a, b, a, b, c] }