pub trait OptionalCodeLocation { fn loc(&self) -> Option<Loc>; }
Structs should implement this trait to return an optional location