pub fn parse_source( interner: &ThreadedInterner, source: &Source, ) -> (Program, Option<ParseError>)