
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct Span {
    pub start: usize,
    pub end: usize,
}
impl Span {
    pub fn from_two(start: Span, end: Span) -> Self {
        assert!(start.start <= end.end);
        Self {
            start: start.start,
            end: end.end,
        }
    }
}