Кстати на тему дефолтных значение и прагматичности.
Пришел я работать я в одну компанию, там был rule-based engine. Смотрел код, который вычислял AND списка условий. Казалось бы, это должно интерпертироваться простым фолдом. Но там был специальный код, который вычислял AND(empty list) в false.
Я спросил, нужно ли это, и могу ли я это убрать. Затер про алгебру, нейтральные элементы, вот это вот все.
На что получил ответ, что "если алгебра не приносит пользу компании, то это неправильная алгебра".
Код я все равно выпилил потом без ущерба для проекта, но фразу запомнил