Exhaustive Search

Both methods, PROLOG and Kanren, perform exhaustive search.

PROLOG achieves exhaustive search via backtracking and re-binding via Unification.

Kanren achieves exhaustive search by creating an object of all possible matches at a given point, then passing the object+answers+unifiableVariables down a pipeline for further augmentation and clipping.