Здравствуйте, sergii.p, Вы писали:
SP>·>Пара булевых флагов и вот уже путаница. Т.е. достаточно иметь более одного параметра одного типа.
SP>булевы параметры — это триггер на code review обычно. Их можно заменить enum. И внезапно повысили чатаемость кода и усилили систему типов.
Да это же пример. Вот ещё код, с правильными типами, а толку?
Receipt transfer(Account from, Account to, Money amount, Money fee);
...
...
Account to = getAccountSeller();
Account from = getAccountBuyer();
Money fee = calcFee();
Money amount = getOrderPrice();
var receipt = transfer(to, from, fee, amount);
send(receipt);
SP>·>прокси типы, которые отстой.
SP>конструктивная аргументация... 
Предложи конструктивно как переписать правильно, чтобы ошибка была очевидна.