more minor progress for DiscreteRange traits default (using underlying_type/decltype for difference/etc types