don't invalidate range when endpoints are equal

fixes #46