Defining type system and constants