equal -> equalp for proper behavior.  We should probably pass an equal function on keys in from the search space to cut down on calls to the super expensive comparators.
dfs, dfs w/ cycle checking now works