{"ast_node_type":"function","tokens":[{"end":89,"kind":"keyword","start":0,"text":"fn"}]}
    fn parse_ty_param(&mut self, preceding_attrs: AttrVec) -> PResult<'a, GenericParam> {
    /// Matches `typaram = IDENT (`?` unbound)? optbounds ( EQ ty )?`.
        let ident = self.parse_ident()?;