As long as each single project keeps reinventing their own Lego stubs, we won't be going forward with reuse.
With Haskell and Scala's type-system we seem to come closer to universal Lego. Still, like Lego, it can be hard to combine larger scale composites.