`pygeneric` implements type dispatch for generic functions in Python. A generic
function gathers many different implementations (or methods) under the same 
name. The actual implementation is choosen at runtime depending on the function 
arguments.
