sig
  type byte
  val byte_to_int32 : Uri_IP.byte -> int32
  type bytes
  val bytes : string -> Uri_IP.bytes
  val bytes_to_string : Uri_IP.bytes -> string
  type ipv4 = Int32.t
  val ipv4_to_string : Uri_IP.ipv4 -> string
  val string_to_ipv4 : string -> Uri_IP.ipv4
  val bytes_to_ipv4 : Uri_IP.bytes -> Uri_IP.ipv4
  type ipv6 = int32 * int32 * int32 * int32
  val ipv6_to_string : Uri_IP.ipv6 -> string
  val bytes_to_ipv6 : Uri_IP.bytes -> Uri_IP.ipv6
end