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>>