Since you don't need the object and the list node at the same time, you can reduce memory usage and improve cache locality by using a union of std.TailQueue(void).Node and Object, instead of a std.TailQueue(Object).Node which always stores redundant information.
Since you don't need the object and the list node at the same time, you can reduce memory usage and improve cache locality by using a union of
std.TailQueue(void).NodeandObject, instead of astd.TailQueue(Object).Nodewhich always stores redundant information.I know, i've done this in #12586 to provide this functionality to the std lib