Hello,
From the arcticle 'OCaml, the ultimate refactoring tool' [1] written by Yaron Minsky, he writes :
"So, I replaced this ad-hoc component system with a plug-in
architecture where every component registered itself in a uniform way,
with a flexible, type-safe way for the components to communicate."