type t =
| IPv4 of Ipaddr.V4.t
| IPv6 of Ipaddr.V6.t
| Extension of string * string
| Domain of string list
val compare : t -> t -> int
val equal : t -> t -> bool
val of_string : string -> (t, [ `Msg of string ]) Stdlib.result
val of_string_exn : string -> t
val to_string : t -> string
val extension : string -> string -> (t, [ `Msg of string ]) Stdlib.result
val atom : string -> (atom, [ `Msg of string ]) Stdlib.result
val atom_exn : string -> atom
module Peano : sig ... end
val unsafe_domain_of_list_exn : string list -> t
val make : 'a w -> 'a -> (t, [ `Msg of string ]) Stdlib.result