Simplifying algorithm overloads.

Equal needs work (infinite recursion)