Through the use of applications, abstractions and lets, Algorithm W infers these entities through unification in the Hindley-Milner system. In the Curry-Howard isomorphism, mathematical formulae are isomorphic to these constructs. These entities are not specified in the construction of algorithms in generic programming paradigms because templates are made instead, which allows these constructs to be determined at a later time. In C-like languages, a void pointer is not limited by this entity's value, thus void pointers 
Through the use of applications, abstractions and lets, Algorithm W infers these entities through unification in the Hindley-Milner system. In the Curry-Howard isomorphism, mathematical formulae are isomorphic to these constructs. These entities are not specified in the construction of algorithms in generic programming paradigms because templates are made instead, which allows these constructs to be determined at a later time. In C-like languages, a void pointer is not limited by this entity's value, thus void pointers cannot be dereferenced; that's because a (*) reference is one of these constructs in programming language theory. Correct usage of these entities are verified at compile-time in "static" languages; otherwise they are checked at run-time in "dynamic" languages. For 10 points, name these constructs, such as "int," "bool," or "string," that specifies the kind of data of variables in programming languages.
Through the use of applications, abstractions and lets, Algorithm W infers these entities through unification in the Hindley-Milner system.
data types [prompt on "variables"]