Typed

Static type checking.
Static generic function.
Statically determine which generic function gets called.