Fix including empty range
There was a bug where if you included an empty range into another range, the range suddenly became infinite. This is because empty ranges have the max at -infinity and the min at infinity. If you just include the endpoints independently (which is what include does), then the min gets -infinity and the max gets infinity. This gets a check to make sure that empty ranges are ignored.