Practical Declarations

The declaration syntax is fairly expressive, and the effects of a declaration are contextually dependent on both the location that a declaration appears in, and the types being declared. This is far too complex to cover completely in an introductory course, so instead what follows are the most common practical usages of declarations.