Vantage point can take an element type that is a subclass of P
KDNode can handle subtypes now
DualTreeWalk can handle different types