add an 'interval' constructor that lets you test during construction
that the interval is non-empty