Typing -- protection against errors
- static -- type checking at compile time
- strong -- all expressions are type consistent
Untyped -- flexibility
- bitstrings, sets, -calculus
Exceptions to monomorphic typing:
- {\em overloading, coercion, subranging, value-sharing {\rm (nil)}}