Module Core.Ident

module J = Ezjsonm
type t = [
  1. | `Anon
  2. | `User of string list
  3. | `Machine of string
  4. | `Unfolder of t
  5. | `Blocked of t list
]
type 'a some = 'a constraint 'a = [< t ]
type user = [
  1. | `User of string list
]
val user : string list -> t
val machine : string -> t
val unfolder : t -> t
val blocked : t list -> t
val anon : t
val pp_user : user Basis.Pp.printer
val to_string : t -> string
val to_string_opt : t -> string option
val user_to_string_opt : user -> string option
val json_of_ident : t -> J.value
val json_to_ident : J.value -> t
val json_of_user : [ `User of string list ] -> [> `A of J.value list ]
val json_to_user : J.value -> [ `User of string list ]
val equal : t -> t -> bool