Collecting results in proper order using Multi-threading

Why are you making these vectors into Any vectors? That is bad for performance, and there doesn’t seem to be a reason for doing it.