Hi Tomas, you say you drain the set, do you remove elements one by one from it? Do you need more from that set than only getting successive elements from it?
It seems you are implementing something, which might require going lower level or using different data structures. I am still not really able to fully grasp your use-case. Just thinking out loud here: It could be that the internal structure of the implementation would allow to add some operation that lets you directly do what you want? A long time ago before I found racket, I used python and before that c++, this thread reminds me of playing around with an early version of this library https://www.boost.org/doc/libs/1_71_0/libs/multi_index/doc/index.html Maybe racket should have something similar which lets you create custom data-types with multiple access semantics in a generative programming family of types way, through some kind of dsl that describes/configures the datatype that is being generated. But currently I don't work on lowlevel / highly optimized code, although I find it very interesting. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/a10988c1-af1b-49c7-9d70-25791dc30406%40googlegroups.com.