Просто в компьютерных вычислениях стараются не баловать человека, чтобы не было искушения делать совершенно неоптимальные вещи. Только оптимизация вычислений всему виной. Только нехватка ресурсов на заре компьютерной эры и желание сэкономить.
все программирование - это про введение разумных ограничений, которые помогают в разработке. ведь всегда можно и без них - берешь машинные коды и делаешь вообще все, что угодно и даже больше
ну, get конечно работает с всеми типами ключей, но сам по себе несколько медленнее, так что там, где я знаю, что ключи только кейвордовые будут, обычно пользуюсь так. Там где ключ заранее не известен то да, get
я бы добавил сюда еще и безопасность. Пытаешься сложить "42" и 71 - ок, а вот если "42" и "лол" - будет плохо. И ты никак это не поймешь, пока не столкнешься при работе. Типы разделят эти сущности.