Branched KDBlock class from KDPoint, it's the same data, but semantically very different