depend on core.logic
document vector traversal