statically typed programming