pub fn get_error_reason_loc(err: &Error) -> (String, Option<Location>)
extract a reason for Error in string format, also return a location if possible
Error