Я с телефона набирал, поэтому написал "коротко и неясно". Там обсуждалась похожесть связки "спецификации - архитектура" из CS со связкой "уравнения - решения" из физики. И, соответственно, то, что "уравнения" легко сочетаются друг с другом, значительно лече, чем решения.Поэтому когда физик решает задачу, он строит модель, потом манипулируя уравнениями получает "финальное", а потом уже находит его решение.
Соответственно, при проектировании программы разумно манипулируя спецификациями (а это практически типы) добиться "общей спецификации", а потом по ней писать архитектуру.
Это прекрасно сочетается с тем, что в соц. исследовании значительная часть программистов сперва старалась свести типы, а потом уже что-то писать. Хотя, конечно, типы - это лишь малая часть спецификации.