redefine SourceSpan as a datatype