> -- Цитата:
> Это просто не утиная типизация.
Именно она. Конечно, она не на уровне любых объектов, но в выделенном "секторе" - сколько угодно.
Имеем базовый DuckObject с методом HandleMsg. От него строим любые расширения типов - хоть плоскую двухуровневую иерархию (как часто и бывает в системных задачах).

Потом я любому объекту шлю любое сообщение. Он его обрабатывает, если умеет.
Имеем семантику Смоллтока.