Statically typed programming languages