ПрограммированиеПроектирование на уровне типов. Системный взгляд на дизайн и архитектуруАлександр Гранин