change Edge.successors and Edge.predecessors to use whereIn. still naive though
upgrade Edge.successors and Edge.predecessors to be recursive, fix respective tests appropriately