One Index to rule them all: DifferentialIndex now extends DirectIndex
(the same for updates), and we use only one index in the reasoner object