why are we maintaining _rangeType on the scale rather than just referencing a single source of truth on the underlying d3 scale?