An empirical study on the impact of static typing on software maintainability
an experiment in software prototyping productivity ∗ .