sig
  外部函数 length : bytes -> int = "%bytes_length"
  外部函数 get : bytes -> int -> char = "%bytes_safe_get"
  外部函数 set : bytes -> int -> char -> unit = "%bytes_safe_set"
  外部函数 create : int -> bytes = "caml_create_bytes"
   make : int -> char -> bytes
   init : int -> f:(int -> char) -> bytes
   empty : bytes
   copy : bytes -> bytes
   of_string : string -> bytes
   to_string : bytes -> string
   sub : bytes -> pos:int -> len:int -> bytes
   sub_string : bytes -> pos:int -> len:int -> string
   extend : bytes -> left:int -> right:int -> bytes
   fill : bytes -> pos:int -> len:int -> char -> unit
   blit 
    src:bytes -> src_pos:int -> dst:bytes -> dst_pos:int -> len:int -> unit
   blit_string 
    src:string -> src_pos:int -> dst:bytes -> dst_pos:int -> len:int -> unit
   concat : sep:bytes -> bytes list -> bytes
   cat : bytes -> bytes -> bytes
   iter : f:(char -> unit) -> bytes -> unit
   iteri : f:(int -> char -> unit) -> bytes -> unit
   map : f:(char -> char) -> bytes -> bytes
   mapi : f:(int -> char -> char) -> bytes -> bytes
   fold_left : f:('acc -> char -> 'acc) -> init:'acc -> bytes -> 'acc
   fold_right : f:(char -> 'acc -> 'acc) -> bytes -> init:'acc -> 'acc
   for_all : f:(char -> bool) -> bytes -> bool
   exists : f:(char -> bool) -> bytes -> bool
   trim : bytes -> bytes
   escaped : bytes -> bytes
   index : bytes -> char -> int
   index_opt : bytes -> char -> int option
   rindex : bytes -> char -> int
   rindex_opt : bytes -> char -> int option
   index_from : bytes -> int -> char -> int
   index_from_opt : bytes -> int -> char -> int option
   rindex_from : bytes -> int -> char -> int
   rindex_from_opt : bytes -> int -> char -> int option
   contains : bytes -> char -> bool
   contains_from : bytes -> int -> char -> bool
   rcontains_from : bytes -> int -> char -> bool
   uppercase_ascii : bytes -> bytes
   lowercase_ascii : bytes -> bytes
   capitalize_ascii : bytes -> bytes
   uncapitalize_ascii : bytes -> bytes
  类型 t = bytes
   compare : BytesLabels.t -> BytesLabels.t -> int
   equal : BytesLabels.t -> BytesLabels.t -> bool
   starts_with : prefix:bytes -> bytes -> bool
   ends_with : suffix:bytes -> bytes -> bool
   unsafe_to_string : bytes -> string
   unsafe_of_string : string -> bytes
   split_on_char : sep:char -> bytes -> bytes list
   to_seq : BytesLabels.t -> char Stdlib.Seq.t
   to_seqi : BytesLabels.t -> (int * char) Stdlib.Seq.t
   of_seq : char Stdlib.Seq.t -> BytesLabels.t
   get_utf_8_uchar : BytesLabels.t -> int -> Stdlib.Uchar.utf_decode
   set_utf_8_uchar : BytesLabels.t -> int -> Stdlib.Uchar.t -> int
   is_valid_utf_8 : BytesLabels.t -> bool
   get_utf_16be_uchar : BytesLabels.t -> int -> Stdlib.Uchar.utf_decode
   set_utf_16be_uchar : BytesLabels.t -> int -> Stdlib.Uchar.t -> int
   is_valid_utf_16be : BytesLabels.t -> bool
   get_utf_16le_uchar : BytesLabels.t -> int -> Stdlib.Uchar.utf_decode
   set_utf_16le_uchar : BytesLabels.t -> int -> Stdlib.Uchar.t -> int
   is_valid_utf_16le : BytesLabels.t -> bool
   get_uint8 : bytes -> int -> int
   get_int8 : bytes -> int -> int
   get_uint16_ne : bytes -> int -> int
   get_uint16_be : bytes -> int -> int
   get_uint16_le : bytes -> int -> int
   get_int16_ne : bytes -> int -> int
   get_int16_be : bytes -> int -> int
   get_int16_le : bytes -> int -> int
   get_int32_ne : bytes -> int -> int32
   get_int32_be : bytes -> int -> int32
   get_int32_le : bytes -> int -> int32
   get_int64_ne : bytes -> int -> int64
   get_int64_be : bytes -> int -> int64


  val get_int64_le : bytes -> int -> int64
  val set_uint8 : bytes -> int -> int -> unit
  val set_int8 : bytes -> int -> int -> unit
  val set_uint16_ne : bytes -> int -> int -> unit
  val set_uint16_be : bytes -> int -> int -> unit
  val set_uint16_le : bytes -> int -> int -> unit
  val set_int16_ne : bytes -> int -> int -> unit
  val set_int16_be : bytes -> int -> int -> unit
  val set_int16_le : bytes -> int -> int -> unit
  val set_int32_ne : bytes -> int -> int32 -> unit
  val set_int32_be : bytes -> int -> int32 -> unit
  val set_int32_le : bytes -> int -> int32 -> unit
  val set_int64_ne : bytes -> int -> int64 -> unit
  val set_int64_be : bytes -> int -> int64 -> unit
  val set_int64_le : bytes -> int -> int64 -> unit
  external unsafe_get : bytes -> int -> char = "%bytes_unsafe_get"
  external unsafe_set : bytes -> int -> char -> unit = "%bytes_unsafe_set"
  external unsafe_blit 
    src:bytes -> src_pos:int -> dst:bytes -> dst_pos:int -> len:int -> unit
    = "caml_blit_bytes" [@@noalloc]
  external unsafe_blit_string 
    src:string -> src_pos:int -> dst:bytes -> dst_pos:int -> len:int -> unit
    = "caml_blit_string" [@@noalloc]
  external unsafe_fill : bytes -> pos:int -> len:int -> char -> unit
    = "caml_fill_bytes" [@@noalloc]
  val unsafe_escape : bytes -> bytes
end