да с кейворд аргументами можно нехило так нахвататься проблем, когда начинаешь юзать в нон-кейворд аргументах какие-либо дефолтные аттрибуты в сигнатуре метода. очумеешь получать раскрытие объектов в кварги, когда бросаешь объект с заимплеменченным to_h
новые изменения зарешают кучу проблем в этом плане