Если ограничить дублирование, то обнаружится резкая нехватка библиотекарей, которые будут искать для программистов реализацию алгоритма, которая максимально сильно подходит к контексту. А если ослабить требования максимального соответствия реализации алгоритма контексту, то обнаружится резкая нехватка непрограммистов, которые будут писать код для согласования придуманных алгоритмов. И библиотекарей, которые будут искать уже реализованные куски кода для согласования алгоритмов.