pub fn parse<'source, 'a, T>( src: &'source str, ) -> Result<Vec<Token<'source, 'a, T>>, (String, Span)>where T: Deref<Target = str> + Clone + From<&'source str>,