pub fn new(source: &Rc<Source>, offset: usize, length: usize) -> Span {
        Span {
            source: Rc::clone(source),
            offset,
            length,
        }
    }
Create a new `Span` from an offset with a length.
All `Span`s have access to the `Source` from whence
they came, So they can't be misinterpreted or
miscombined.
passerine-common/src/span.rs