Built-in collections in dynamic programming languages are either inefficient or thread-unsafe. In this talk, I will show an approach to make the two built-in collections in Ruby (Array and Hash) both as efficient as unsynchronized implementations and yet thread-safe as if they were always synchronized. Moreover, we show that common operations on these collections can scale to many cores.