added Require (begin <= end); for DiscreteRange CTOR