It is fascinating to compare this (and the Jacquard loom) to the early electronic digital computers. In all cases part of the genius was to decompose complexity into a small set of operations which could be repeated and composed in many ways. There is a lesson here for software developers.