Should type decisions be at compile time?
When they can be, because of
- faster programs
- errors that you see instead of your users
But it requires planning
- heterogeneous containers
- objects and communication
Such problems are hard, and language sensitive