Explain the conceptual algorithm for discriminating among objects, vectors and strings, and improve the implemented heuristic