pub fn display_program_error<A, T: ToString>(
    result: Result<A, Box<dyn Error>>,
    source: T,
    location_val: Option<String>
) -> Result<A, Box<dyn Error>>