Object-oriented static typing offers a technology to support reuse to an extend unthinkable otherwise (and unthought: few people have understood it). However, it relies heavily on hierarchical scopes, i.e. on a side-effect of sequential programming.
This is a paradox: sequential programming is itself a limitation to scalability, and therefore to the interest of reuse.
Traditionally, programming for concurrency (or multithreading) incurs taking care of conflicting access to shared resources via semaphors and the like: i.e. breaking the information hiding characteristic of object-orientation. Semaphors are low-level entities (as are processes, threads and the like).