strongly-typed programming language