sig
  type t = string * int * int
  val make : string -> int -> len:int -> CCString.Sub.t
  val full : string -> CCString.Sub.t
  val copy : CCString.Sub.t -> string
  val underlying : CCString.Sub.t -> string
  val sub : CCString.Sub.t -> int -> int -> CCString.Sub.t
  val get : CCString.Sub.t -> int -> char
  val length : t -> int
  val blit : t -> int -> Bytes.t -> int -> int -> unit
  val fold : ('-> char -> 'a) -> '-> t -> 'a
  val to_gen : t -> char gen
  val to_seq : t -> char sequence
  val to_klist : t -> char klist
  val to_list : t -> char list
  val pp : Buffer.t -> t -> unit
  val print : Format.formatter -> t -> unit
end