pub fn parse_file(
    src: Arc<str>,
    path: Option<Arc<PathBuf>>
) -> Result<Program, ParseFileError>