pub fn parser( expr: impl Parser<Token, Spanned<Expr>, Error = Simple<Token>> + Clone + 'static, ) -> impl Parser<Token, Spanned<Type>, Error = Simple<Token>> + Clone