sig
  type t
  val create : int -> Make_substring.Base.t
  val length : Make_substring.Base.t -> int
  val blit :
    (Make_substring.Base.t, Make_substring.Base.t) Make_substring.Blit.t
  val blit_to_string : (Make_substring.Base.t, string) Make_substring.Blit.t
  val blit_to_bigstring :
    (Make_substring.Base.t, Make_substring.bigstring) Make_substring.Blit.t
  val blit_from_string :
    (string, Make_substring.Base.t) Make_substring.Blit.t
  val blit_from_bigstring :
    (Make_substring.bigstring, Make_substring.Base.t) Make_substring.Blit.t
  val of_bigstring : Make_substring.bigstring -> Make_substring.Base.t
  val of_string : string -> Make_substring.Base.t
end