Гибридный подход к регистрозавимости, процедурная и объектная парадигмы сведены в одну смешанную, реализация сеттеров через переопределение оператора приравнивания.
Ну, во-первых в двух и второй - заголовочный файл для рейлиба на 1000+ строк. Оригинальный хидер на C99 весил столько же и наверное слегка стремно, когда файлы с полноценным кодом меньше заголовочного ?
Далее - Ним поощраяет три вещи. 1. Иммутабельность. 2. Шаблонизацию кода через макросы (это я пока отточила в наименьшей степени). 3. Минимизацию нагрузок на виртуальные таблицы.
Иначе имеет смысл писать метод как proc, т.к. компилятор все равно сделает его методом расширения типа, к которому принадлежит первый получаемый агрмент.