(** Fully qualified relation reference: [mg:rel_name]. The first colon separates the multigroup name from the relation name; any further colons are part of the relation name verbatim. *) type t = {mg: string; name: string} exception Unqualified of string (** Splits on the first [:]. Raises [Unqualified] when no mg segment is present (i.e. no colon, or empty mg / empty name). *) val parse : string -> t val try_parse : string -> (t, Condition.t) result val make : mg:string -> name:string -> t val to_string : t -> string