A form of generic function dispatch where the implementation is chosen based on the type of a single argument.