intersection_not_empty function
refactoring to test. New test fails due to a bug
evaluate function not finished, but no longer breaking before it gets to the interesting part