Efficient, mostly complete implementation of multiple dispatch
