Sometimes intersection of two constraints can lead into situation where the resulting constraint does not allow any values. Currently this is solved by either adding impossible value range constraint or a size constraint with zero size, but this should be more explicit. Maybe this could be even compile-time error, but I am not sure if there are valid use cases. Value constraint currently: ```rust Bounded::Range { start: Some(1), end: Some(-1), }, ```