`compl` deemed dangerous
The interface says
val compl : t list -> t
(** Complement of union *)
but compl cannot be applied to any list of regexpes... and, more problematically, it fails at runtime! I think that this ought to be fixed—maybe adding some phantom type to t or changing compl arguments.
A phantom type is probably out of the question (for compat reasons). I'm not sure what other kind of changes could be applied.
@Drup Why is it out of question? You couldn't maintain compat. with aliases?
Also, providing a new, safe API sounds plausible as well (we've deprecated other stuff before)
@rgrinberg I will believe it when I see it, but I don't think it would work very well. Also, I doubt it would be such a good solution. I would prefer to extend the handling of compl to other constructs, but it's much more difficult.