macro_rules! iter_must_use {
() => {
"Iterators are lazy and do nothing unless consumed."
};
}
pub(crate) use iter_must_use;
pub(crate) const BOUNDS_ORDERED: &str = "Range bounds should be ordered.";
pub(crate) const NO_OVF: &str = "Overflow.";
pub(crate) const ORDERED: &str = "Values should be ordered.";
pub(crate) const EXIST_SB: &str = "Start bound should exist.";
pub(crate) const EXIST_EB: &str = "End bound should exist.";
pub(crate) fn exist_bound(fwd: bool) -> &'static str {
if fwd { EXIST_SB } else { EXIST_EB }
}