Most types force premature design/optimization.
I disagree. What you’re saying is true for Java-like OOP languages because OOP is actually complete garbage if you want to design good, easy to understand abstractions. Types are way more elegant in functional or functional-inspired languages.
Most unit tests lock up some specific implementation (increasing cost of inevitable refactors) rather than prevent actual bugs.
Agreed, unit tests are useless in most cases, they mostly test the bullshit abstractions you built for the unit tests themselves.
deleted by creator