At least 2 optimisations are possible:
1) Bypass View when View is simple, i.e. connect Index directly to IRelation in Joiner/Differ
and use the relation directly in FirstSubGoal
2) Create a reset() method on ICompiled rule that resets indexes/views etc and reconnects them
to a new set of Facts. This will be useful for WellFoundedSemanticsEvaluationStrategy.