- | OBRACK atype CBRACK { $$ = mktllist($2); }
- | OPAREN atype RARROW atype CPAREN { $$ = mktfun($2,$4); }
+ | OBRACK tyvar CBRACK { $$ = mktllist($2); }
+ | OPAREN tyvar RARROW tyvar CPAREN { $$ = mktfun($2,$4); }
+ ;
+
+general_inst : tycon { $$ = mktname($1,Lnil); }
+ | OPAREN tycon atypes CPAREN { $$ = mktname($2,$3); }
+ | OPAREN type COMMA types CPAREN { $$ = mkttuple(mklcons($2,$4)); }
+ | OPAREN CPAREN { $$ = mkttuple(Lnil); }
+ | OBRACK type CBRACK { $$ = mktllist($2); }
+ | OPAREN btype RARROW type CPAREN { $$ = mktfun($2,$4); }