let rec class_parameters t acc =
match t with
| Ast.TyCom (_, t1, t2) ->
class_parameters t1 (class_parameters t2 acc)
| Ast.TyQuP (_, s) -> (s, (true, false)) :: acc
| Ast.TyQuM (_, s) -> (s, (false, true)) :: acc
| Ast.TyQuo (_, s) -> (s, (false, false)) :: acc
| _ -> assert false