Static vs Dynamic Typing — which one is the best?